我已经使用mysql工作台运行了这两个查询:


SELECT bussId FROM tempBusiness order by bussId ASC limit 250000 ,1
SELECT bussId FROM tempBusiness order by bussId ASC limit 1 ,1


第一个没有完成运行,第二个非常快地返回了bussId(0.096秒/0.000016秒)。

这是上述两个查询的说明:

1。



2。



可能是什么问题?

最佳答案

为了在索引列中达到N的偏移量,它必须顺序扫描索引。如果偏移量很小,则此过程会很快完成。但是要获得一个非常大的索引(如250000),它必须将许多条目从索引加载到内存中。

我认为没有最佳方法可以对此进行优化。如果您具有顺序ID字段,则可以使用WHERE id = 250000代替LIMIT

10-07 13:40