如何添加大偏移量?

时间:2015-04-14 12:44:18

标签: mysql sql datatables

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

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

  2. SELECT bussId FROM tempBusiness order by bussId ASC limit 1 ,1

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

    以下是上述两个查询的解释:

    1

    enter image description here

    2

    enter image description here

    可能是什么问题?

1 个答案:

答案 0 :(得分:0)

为了在索引列中获得N的偏移量,它必须按顺序扫描索引。如果偏移量很小,则会很快完成。但要获得像250000这样的非常大的索引,它必须将索引中的许多条目加载到内存中。

我认为没有任何好方法可以优化它。如果您有顺序ID字段,则可以使用WHERE id = 250000而不是LIMIT