我正在远程客户端上执行以下SQL查询,并且执行需要相当长的时间(5分钟或更长时间)。
从this question,其中一个答案显示'创建排序索引'是数据库根据您的'顺序计算退回值的顺序。条款。'
有没有办法优化此查询?
SELECT column1 FROM my_database where '2017-01-19 09:00:00' > time_stamp and '2017-01-19 05:00:00' < time_stamp order by time_stamp desc limit 5000;
答案 0 :(得分:1)
这是您的查询:
SELECT column1
FROM my_database
WHERE '2017-01-19 09:00:00' > time_stamp and
'2017-01-19 05:00:00' < time_stamp
ORDER BY time_stamp desc
LIMIT 5000;
此查询的最佳索引是my_database(time_stamp, column1)
上的综合索引。不幸的是,MySQL并没有真正识别索引的desc
,所以你可能无法避免这种排序。