最近我一直在讓MySQL掛在特定的查詢上。我有一張有500,000多條記錄的表格。下面是該查詢正在運行:MySQL排序結果需要很長時間
SELECT * FROM
items
WHERE(itemlist_id = 115626)ORDER BY tableOrder DESC LIMIT 1
這裏是解釋:
| 1 | SIMPLE |物品| ALL | NULL | NULL | NULL | NULL | 587113 |在哪裏使用;使用filesort |
這裏是process_list項:
| 252996 | root | localhost | itemdb |查詢| 0 |排序結果| SELECT * FROM
items
WHERE(itemlist_id = 115642)ORDER BY tableOrder DESC LIMIT 1 |
任何想法可能導致此查詢花費10分鐘來處理?當我手動運行時,它會很快完成。 (1行中集(0.86秒))
感謝
你確定這是排序很慢,沒有找到記錄?如果您在未編制索引的字段中獲得500k +記錄的表掃描,則可能需要一段時間。而且「手動」的速度可能是因爲MySQL(或操作系統)緩存了早期嘗試的數據並且運行得更快。 – 2010-02-19 16:18:10