page contents

limit 1000000加载很慢的话,你是怎么解决的呢?

轩辕小不懂 发布于 2021-06-19 11:52
阅读 1045
收藏 0
分类:数据库
  • SQL
  • 1077
    Pack
    Pack

    方案一:如果id是连续的,可以这样,返回上次查询的最大记录(偏移量),再往下limit

    select

     id

    name 

    from

     employee 

    where

     id

    >

    1000000

     limit 

    10.


    方案二:在业务允许的情况下限制页数:

    建议跟业务讨论,有没有必要查这么后的分页啦。因为绝大多数用户都不会往后翻太多页。


    方案三:order by + 索引(id为索引)

    select

     id

    name 

    from

     employee order 

    by

     id  limit 

    1000000

    10


    方案四:利用延迟关联或者子查询优化超多分页场景。(先快速定位需要获取的id段,然后再关联)

    SELECT a

    .*

     FROM employee a

    ,

     

    (

    select

     id 

    from

     employee 

    where

     

    条件

     LIMIT 

    1000000

    ,

    10

     

    )

     b 

    where

     a

    .

    id

    =

    b

    .

    id

    请先 登录 后评论