我的表中有 800 万条记录,这个查询太慢了。它用于站点地图(我们需要将其全部编入索引)。在这个例子中,我从位置 600 万中选择了 1000 个项目。
SELECT source, identifier
FROM mh_download
WHERE deleted =0
LIMIT 6000000 , 1000
33 秒
表是 MyISAM,删除的列有索引。 MySQL 版本 5.5.41。
最佳答案
我发现了重复的 Why does MYSQL higher LIMIT offset slow the query down?
所以最好的解决办法是
1)Hold the last id of a set of data(30) (e.g. lastId = 530)
2)Add the condition "WHERE id > lastId limit 0,30"
谢谢大家的耐心等待
关于mysql - 使用数百万条记录加速 LIMIT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239048/