繁体   English   中英

mysql索引未优化查询

[英]mysql index not optimizing query

我有mysql MyISAM表,我正在select id from mytable limit 1;做一个简单的select id from mytable limit 1; 这只会冻结系统。

我试图explain select id from mytable limit 1; 再次冻结了我的系统。 表的人口统计数据:50k记录,10 mbs大小,2个索引(主键自动递增),8列。

我不知道为什么explain语句失败,因为它应该显示查询计划,而没有别的。 表的大小既不是巨大的,也不是记录的数目,那么为什么mysql运行这么慢? 相反,我在这里想念什么?

这是由于mytable处于等待状态。 eggyal给了我使用show processlist的线索。 这显示了:

+-----+---------+-----------------+----------------+---------+------+---------------------------------+----------------------------------------------------+
| Id  | User    | Host            | db             | Command | Time | State                           | Info                                               |
+-----+---------+-----------------+----------------+---------+------+---------------------------------+----------------------------------------------------+
| 349 | root    | localhost:56612 | mydb           | Query   | 3582 | Waiting for table metadata lock | ALTER TABLE `mytable` ADD INDEX(`fk_to_02`) |

我植入了kill 349来终止该等待链,现在说明语句可以按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM