使用数百万条记录加速 LIMIT 查询

speed up LIMIT query with millions of records

我在 table 中有 800 万条记录,这个查询太慢了。它用于站点地图(我们需要将其全部编入索引)。在这个例子中,我从位置 600 万中选择了 1000 个项目。

SELECT source, identifier
FROM mh_download
WHERE deleted =0
LIMIT 6000000 , 1000

33秒

Table 是 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"

感谢大家的耐心等待