当前位置: 首页 > news >正文

MySQL分页查询慢怎么办

今天看到一个问题。
MySQL分页查询慢怎么办?
第一反应是用limit限制返回的条数。
比如

select * from table order by idlimit 10, 100;

实际上我们限制的只是返回的条数是100,并不是查询时就从第10条开始获取数据。
所以实际上MySQL会从第0条开始查询,得到10+100=110条数据,然后放弃掉前面10条数据,返回100条数据。
所以在数据量越来越大,分页的起始条数越来越靠后时,耗时越来越长。

那如何优化呢?

记录起点,放弃使用offset

select * from table order by id where id >= 10 limit 100;

根据索引直接定位到10数据所在叶子节点,取范围100个叶子节点的行数据返回。

http://www.lryc.cn/news/136414.html

相关文章:

  • mongodb集群
  • 回归预测 | MATLAB实现WOA-BP鲸鱼优化算法优化BP神经网络多输入单输出回归预测(多指标,多图)
  • 【前端从0开始】JavaSript——循环控制语句
  • 【Elasticsearch】spring-boot-starter-data-elasticsearch的使用以及Elasticsearch集群的连接
  • Python学习笔记_进阶篇(四)_django知识(三)
  • 指针(初阶)
  • Flink内核源码解析--Flink中重要的工作组件和机制
  • Linux 压缩解压(归档管理):tar命令
  • spring boot集成mqtt协议发送和订阅数据
  • 【数据库】详解数据库架构优化思路(两主架构、主从复制、冷热分离)
  • el-table 实现动态表头 静态内容 根据数据显示动态输入框
  • Reids 的整合 Spring Data Redis使用
  • 3D数据转换工具HOOPS Exchange概览
  • 【从零开始的rust web开发之路 一】axum学习使用
  • oracle警告日志\跟踪日志磁盘空间清理
  • 【vue】el-table 数据更新后,刷新表格数据
  • AVL——平衡搜索树
  • TCP通信流程以及一些TCP的相关概念
  • PyTorch学习笔记(十七)——完整的模型验证(测试,demo)套路
  • WPF开篇
  • linux 压缩解压缩
  • centos9 mysql8修改数据库的存储路径
  • 【C++】<Windows编程中消息即事件的处理>
  • 数据库SQL语句使用
  • 从零开始 Spring Cloud 12:Sentinel
  • @Resurce和@Autowired的区别
  • ResNet简介
  • 了解单例模式,工厂模式(简单易懂)
  • 【中危】 Apache NiFi 连接 URL 验证绕过漏洞 (CVE-2023-40037)
  • 【Git版本控制工具使用---讲解一】