MySQL分页查询慢怎么办

这篇具有很好参考价值的文章主要介绍了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个叶子节点的行数据返回。文章来源地址https://www.toymoban.com/news/detail-667095.html

到了这里,关于MySQL分页查询慢怎么办的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL主从数据不一致,怎么办?

    先给大家说个身边的故事。 小伙伴二狗最近面宇宙厂,前面被问MySQL索引、锁、主从复制原理时答的都很开心。 当 面试官 问到 :“你们遇到主从不一致的问题怎么解决呢?你有什么更好的方案吗?” 二狗 懵了。不就是读写时候走主,纯读走从吗。。难道还有什么别的办法

    2023年04月20日
    浏览(51)
  • docker中mysql忘记密码怎么办?

    进入容器:docker exec -it mysql bash 修改mysql配置: [mysqld] skip-host-cache skip-name-resolve skip-grant-tables 进入mysql交互环境:mysql -uroot -p( 备注:不要输入密码直接点击enter键进入 ) 重置密码为空:update user set authentication_string=‘’ where user=‘root’; 生效配置:flush privileges; 重置新密码

    2024年02月07日
    浏览(56)
  • windows下mysql忘记密码怎么办?

    【Win + r】,之后输入【SERVICES.MSC】然后回车,会打开服务列表,在服务列表输入【mysql】即可选中mysql对应服务,找到自己的mysql服务,我的是MYSQL57选中它【右键】单击,然后点击【停止】选项即可停止mysql服务。

    2024年02月12日
    浏览(83)
  • MySQL数据被误删怎么办?

    很多年前,被公司外派到一家单位驻场开发一个OA项目,两个开发对接各部门的需求,需求还要及时生效(一边开发一边使用)。有一次生产环境的一个bug本地没办法复现,由于没有测试人员,也就不存在测试环境,所以本地连了生产库去调试。不出意外的话要出意外了:在

    2024年02月01日
    浏览(40)
  • MySQL的ID用完了,怎么办?

    目 录 一 首先首先分情况 二  自增ID 1 mysql 数据库创建一个自增键的表 2 导出表结构 3 重新创建 自增键是4294967295的表 4 查看表结构 5 异常测试 三 填充主键 1 首先创建一个test 表,主键不自增 2 插入主键最大值 3 再次插入主键最大值+1 四 没有声明主键 1 在创建表没有声明主

    2024年02月03日
    浏览(34)
  • mysql占用cpu超过100%怎么办?mysql占用cpu特别高的解决方法!

    前段时间我的一个网站经常打不开,通过检查发现服务器cpu占用超过100%;通过top命令发现是mysql占用cpu特别高导致的,于是优化了mysql语句,mysql升级到了mysql8最新版本等,但是并没有什么卵用。过几天有出现这种情况。甚至以为是服务器配置太低了,准备升级配置。 后面分

    2024年02月08日
    浏览(49)
  • mysql 学习存储过程:一次插入 10W 条记录、卡死了怎么办

    所有的存储过程必须有前缀“proc_”,所有的系统存储过程都有前缀“sp_”。 输入参数以i_开头,输出参数以o_开头。 mysql use test_20230414; mysql CREATE TABLE person ( id int NOT NULL AUTO_INCREMENT, name varchar(15) NOT NULL, PRIMARY KEY ( id ) ) ENGINE=InnoDB AUTO_INCREMENT=10001 ; 使用事务 不使用事务 查询存

    2024年02月01日
    浏览(48)
  • 重新安装mysql时,Windows Service Name已经被占用了怎么办

    重新安装mysql时,Windows Service Name已经被占用了怎么办,如图: 解决办法: 一,以管理员身份运行命令提示符(直接在搜索栏输入:cmd); 运行之后: 二, 输入命令:sc delete MySQL80(输入重复的Windows Service Name,我MySQL的Windows Service Name是MySQL80,你输入你的Windows Service Name)

    2024年02月12日
    浏览(34)
  • 【MySQL】《狂飙》电视剧火了,如果程序一直狂飙,扛不住了,怎么办呢?

    咖啡干嚼不加糖,我是建工 高启强 。 手拿冻鱼追一路,我叫 启盛 你记住。 鱼摊卖鱼开箱货,杀人还得 陈金默 。 孟钰启兰把我亲,只玩不处叫 安欣 。 先亲程程后摸腿,我是莽村 李宏伟 。 AD钙奶来上香, 京海大佬叫 徐江 。 老公被埋不知情,我是大嫂 陈书婷 。 脚踩五

    2024年02月03日
    浏览(52)
  • 【JaveWeb教程】(20) MySQL数据库开发之 基本查询、条件查询、聚合函数、分组查询、排序查询、分页查询 详细代码示例讲解

    在上次学习的内容中,我们讲解了: 使用DDL语句来操作数据库以及表结构(数据库设计) 使用DML语句来完成数据库中数据的增、删、改操作(数据库操作) 我们今天还是继续学习数据库操作方面的内容:查询(DQL语句)。 查询操作我们分为两部分学习: DQL语句-单表操作

    2024年02月02日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包