怎么优化mysql分页时offset过大的Sql
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关怎么优化mysql分页时offset过大的Sql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通常分页查询的时候会使用这样的语句:SEL
千家信息网最后更新 2025年11月07日怎么优化mysql分页时offset过大的Sql
这篇文章将为大家详细讲解有关怎么优化mysql分页时offset过大的Sql,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
通常分页查询的时候会使用这样的语句:
SELECT*FROM tablewhere condition1 = 0and condition2 = 0and condition3 = -1and condition4 = -1order by id ascLIMIT 2000 OFFSET 50000
当offset特别大时,这条语句的执行效率会明显减低,而且效率是随着offset的增大而降低的。
原因为:
MySQL并不是跳过offset行,而是取offset+N行,然后返回放弃前offset行,返回N行,当offset特别大,然后单条数据也很大的时候,每次查询需要获取的数据就越多,自然就会很慢。
优化方案:
SELECT*FROM tableJOIN(select id from tablewhere condition1 = 0and condition2 = 0and condition3 = -1and condition4 = -1order by id ascLIMIT 2000 OFFSET 50000)as tmp using(id)
或者
SELECT a.* FROM table a, (select id from tablewhere condition1 = 0and condition2 = 0and condition3 = -1and condition4 = -1order by id ascLIMIT 2000 OFFSET 50000) b where a.id = b.id
先获取主键列表,再通过主键查询目标数据,即使offset很大,也是获取了很多的主键,而不是所有的字段数据,相对而言效率会提升很多。
关于"怎么优化mysql分页时offset过大的Sql"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
数据
效率
篇文章
查询
很大
时候
更多
语句
不错
实用
明显
内容
原因
字段
文章
方案
目标
相对而言
知识
而是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司工商
小学生网络安全隐患讲话稿
文字自动识别扫描数据库
蔚游网络技术怎么样
单片机与车载网络技术试卷
数据库技术收费多少
获得三级数据库技术的条件
做好网络安全考核工作
数控系统软件开发培训
网络技术与应用子网划分
基于模型的软件开发pv
淮安网络安全黑板报
价格几个亿的数据库
计算机网络安全隐患主要内容
山西oa软件开发品牌企业
查看数据库orcle
云服务器企业售价
万得软件开发笔试
服务器管理中工具不能用
大型软件开发用例图
如何维护网络安全正能量申论
如何通过网站远程管理服务器
网络技术阴暗面
互联网网络安全面试题
贵州网络技术服务含义
金华nas存储服务器找哪家
mysql主从数据库部署
数据库生成doc
上海浦东软件开发园区
河南电信哪个服务器最好云空间