Jua*_*nti 83 mysql sql database performance
我有一个拥有1,000,000条记录的MySQL InnoDB表.这太多了吗?或者数据库可以处理这个以及更多?我问,因为我注意到一些查询(例如,从表中获取最后一行)在表中的行(1秒)比在100行中慢(秒).
OMG*_*ies 109
我有一个带有1000000个寄存器的MySQL InnoDB表.这太多了吗?
不,1,000,000 行(AKA记录)对于数据库来说并不算太多.
我问,因为我注意到一些查询(例如,获取表的最后一个寄存器)在表中有100万个寄存器比在100个寄存器中慢.
该声明中有很多要考虑的因素.通常的嫌疑人是:
ami*_*ygi 62
我有一个超过97,000,000条记录的数据库(30GB数据文件),没有问题.
只需记住定义和改进表索引.
显而易见,1,000,000不是很多!(但如果你没有索引;是的,这很多)
Jou*_*mer 18
使用'explain'检查查询并查看查询计划是否有任何问题.
Mor*_*ker 13
我认为这是一个常见的误解 - 在数据库可扩展性方面,大小只是等式的一部分.还有其他问题很难(或更难):
工作集有多大(即需要在内存中加载多少数据并积极处理).如果您只是插入数据然后对其执行任何操作,那么它实际上是一个很容易解决的问题.
需要什么级别的并发性?是否只有一个用户插入/读取,或者我们有多个客户端同时运行?
需要什么级别的承诺/耐久性和性能的一致性?我们是否必须确保我们能够兑现每次提交.如果平均交易速度很快,或者我们是否希望确保所有交易都可靠地快速(六西格玛质量控制,如http://www.mysqlperformanceblog.com/2010/06/07/performance-optimization-)和 - 六西格玛/).
您是否需要执行任何操作问题,例如更改表模式?在InnoDB中,这是可能的,但速度极慢,因为它经常需要在前台创建一个临时表(阻止所有连接).
所以我要说明两个限制问题:
假设你用“寄存器”来表示“记录”,不,这并不算太多,MySQL 的扩展性非常好,并且可以保存与硬盘空间一样多的记录。
显然,搜索查询会变慢。除了确保字段正确索引之外,确实没有其他办法解决这个问题。
| 归档时间: |
|
| 查看次数: |
70424 次 |
| 最近记录: |