簡體   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