Mysql Find命令变得非常慢

时间:2010-11-15 22:22:11

标签: mysql performance

我的每个网络请求都包含几个“选择”查询。最近有问题的表从75,000行变为~90,000,而select命令从~100ms减慢到~1.2s

找出突然性能下降原因的最佳方法是什么?我想这个密钥不能存储在内存中,这导致丢失。如何检查?

请告知。

2 个答案:

答案 0 :(得分:3)

听起来MySQL正在将内部表从内存转移到磁盘。这是MySQL的经典“引爆点”,一旦达到一定的大小,性能就会从悬崖上掉下来。当您意识到默认的MySQL配置非常保守(即使是所谓的“巨大”配置)并且几个服务器设置可以增加至少一个数量级时,尤其如此。

探索的第一个途径是在查询中使用EXPLAIN并查找将临时表信息放在磁盘上的指示。有关详细信息,请参阅MySQL文档herehere

答案 1 :(得分:1)

查询上的EXPLAIN PLAN。寻找一个TABLE SCAN。

如果找到一个,请添加足够的索引以消除问题。