使用数百万条记录加速 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"
感谢大家的耐心等待
我在 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"
感谢大家的耐心等待