当数据量特别大的时候,我们有如下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
# 这样来同样会很快。