|MySQL数据量大时limit往后会速度变慢

当数据量特别大的时候,我们有如下SQL:

SELECT * FROM t LIMIT 10000,10

当数据量有上百万的时候,这种查询是很慢的。但我们将 * 改为索引字段时:

SELECT ID FROM t LIMIT 10000,10
# 这种查询就会很快。

那么我们需要将SQL改造如下:

SELECT * FROM t WHERE ID IN (SELECT ID FROM t LIMIT 10000,10)

然后现在速度就快了起来。当然也可以改造为如下:

SELECT * FROM t JOIN (SELECT ID FROM t LIMIT 10000,10) t1 ON t1.id = t.id
# 这样来同样会很快。
原文地址:https://www.cnblogs.com/daihang2366/p/15033726.html