最近,我一直在让MySQL挂起特定的查询。我有一张有500,000+记录的桌子。下面是正在运行的查询:
从
items选择*,其中(itemlist_id = 115626)顺序由tableOrder DESC限制1
以下是解释:
使用where/
使用where;使用文件items,使用where,使用
下面是process_list条目:
\x\x\x{e76f}\x{e76f}从
items中选择* (itemlist_id = 115642)顺序由tableOrder DESC限制1
您知道是什么原因导致这个查询需要10分钟才能处理吗?当我手动运行它时,它很快就完成了。(一组一行(0.86秒))
谢谢
发布于 2010-02-19 16:18:12
您需要在items (itemList_id, TableOrder)上创建一个索引,并稍微重写查询:
SELECT *
FROM items
WHERE itemlist_id = 115626
ORDER BY
itemlist_id DESC, tableOrder DESC
LIMIT 1ORDER BY中的第一个条件似乎是多余的,但它有助于MySQL选择正确的计划(不排序)。
https://stackoverflow.com/questions/2297748
复制相似问题