Mysql查找命令已变得非常缓慢

问题描述:

我的每个Web请求都涉及到两个'select'查询。有问题的表最近从75,000行变为约90,000,并且选择命令从约100ms减缓到约1.2秒Mysql查找命令已变得非常缓慢

找到突然性能下降的原因的最佳方法是什么?我想象那把钥匙不能存储在内存中,这导致了下降。如何检查?

请指教。

EXPLAIN PLAN查询。寻找桌面扫描。

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

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

探索的第一条途径是在您的查询中使用EXPLAIN并查找它将临时表信息放在磁盘上的指示。更多信息可在MySQL文档中找到herehere

+0

这就是我得到的 - > | id | select_type |表| |键入| possible_keys |键| key_len | ref |行|额外| + ---- + ------------- + ----------------- + ------ + ---- ------------------- | 1 | SIMPLE | fb_welcome_tabs | ref | index_fb_welcome_tabs_on_fb_sig_page_id,index_fb_welcome_tabs_on_fb_sig_app_id | index_fb_welcome_tabs_on_fb_sig_page_id | 53 | const | 1 |使用where | – Laura 2010-11-16 00:07:20

+0

查看http://dev.mysql.com/doc/refman/5.1/en/optimizing-the-server.html,特别是第1,2和4节。听起来您需要提高密钥的大小缓冲。 – staticsan 2010-11-16 00:14:10