开发者社区> 问答> 正文

在MySQL数据库中 limit 1000000 加载很慢的话,你是怎么解决的呢?

在MySQL数据库中 limit 1000000 加载很慢的话,你是怎么解决的呢?

展开
收起
Carice 2021-10-16 21:27:35 1170 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好, 方案一:如果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
    
    2021-10-16 21:36:46
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载

相关镜像