[英]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.