我已经使用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
。