首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql索引未优化查询

mysql索引未优化查询
EN

Stack Overflow用户
提问于 2012-06-10 13:43:17
回答 1查看 100关注 0票数 0

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

我试过explain select id from mytable limit 1;了。它再次冻结了我的系统。表统计: 50k条记录,10MB大小,2个索引(主键自动增量),8列。

我不知道explain语句失败的原因,因为它应该显示查询计划,其他什么也不显示。表的大小和记录的数量都不是很大,那么为什么mysql的运行速度会这么慢?相反,我在这里遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-10 14:18:55

它应该在mytable上处于等待状态。eggyal给了我使用show processlist的提示。它显示:

代码语言:javascript
复制
+-----+---------+-----------------+----------------+---------+------+---------------------------------+----------------------------------------------------+
| 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来终止该等待链,现在explain语句按预期工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10966615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档