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

时间:2015-07-06 06:32:41

标签: mysql myisam

我在表中有8百万条记录,这个查询太慢了。它是站点地图(我们需要将其全部索引)。在这个例子中,我从6百万位置中选择了1000个项目。

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

33秒

表是MyISAM,删除的列有索引。 MySQL版本5.5.41。

1 个答案:

答案 0 :(得分:3)

我发现重复 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"

感谢大家的耐心