返回顶部
首页 > 资讯 > 数据库 >如何解决MySQL数据量增大之后翻页慢的问题
  • 938
分享到

如何解决MySQL数据量增大之后翻页慢的问题

2024-04-02 19:04:59 938人浏览 八月长安
摘要

本篇文章为大家展示了如何解决Mysql数据量增大之后翻页慢的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。mysql最易碰到的性能问题就是数据量逐步增大之后的翻

本篇文章为大家展示了如何解决Mysql数据量增大之后翻页慢的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

mysql最易碰到的性能问题就是数据量逐步增大之后的翻页速度变慢的额问题,而且越往后翻页速度越慢,如果用最快速的办法解决,以下就是解决办法,简单方便。

1、问题现状

现有Mysql数据表 event_data ,数据量 36.7万,如下:

mysql> select count(1) from event_data; +----------+ | count(1) | +----------+ |   367961 | +----------+ 1 row in set (0.05 sec)

使用SQL-Limit分页查询,需要花费时间382秒,如下:

  SELECT a.*     FROM event_data a    WHERE a.receive_time >= '2018-03-28 00:00:00'      AND a.receive_time <= '2018-03-28 23:59:59' ORDER BY a.receive_time DESC    LIMIT 56280,15;

其中 receive_time  字段已建立索引,event_data 表的主键字段为 pk_id。

2、问题分析

但是如果把上面的SQL稍微变动一下,就会发现查询速度有质的飞跃,如下:

mysql>    SELECT a.pk_id     ->      FROM event_data a     ->     WHERE a.receive_time >= '2018-03-28 00:00:00'     ->       AND a.receive_time <= '2018-03-28 23:59:59'     ->  ORDER BY a.receive_time DESC     ->     LIMIT 56280,15; +----------------------------------+ | pk_id                            | +----------------------------------+ | ce7d990f39a4411c88ebb3240497e6f3 | | bd47b1c380c946c39b3ec172a262823f | | c1820a5633714a5e9a0b0c2abb092579 | | d58456cbe16d4cc4a20645c1126fb9b7 | | a1d786640ea048a7bd10bd9f12868d6d | | f590aa4f26034dd9af2f4ba0d4f7430c | | af3e81eb43b84467bd3e2c7ad31d6aff | | 3ee331dce2064a788515986a0a97ac2b | | 46f462dc4209499f90dad2dc4076e4ca | | 8ebb7ff55bc443e4854e583f6dc37ff7 | | 883fd68d93Dc49eab5b35ebf9ab8f8ee | | 932c264d6dd140f3ac4f07f3410ce147 | | 19b6426cdd664fe2983166e0cca93c53 | | 3a0bfa4e000e4b69bba1a6bed6545973 | | 5640a162380346f19d57a61c1dc0dd42 | +----------------------------------+ 15 rows in set (0.03 sec)

查询结果返回只需要30毫秒,虽然SQL变动很小,只是将查询结果 由 a.* 改为了 a.pk_id,但是速度的提升是巨大的。

原因分析:两条SQL where 条件语句都是使用了索引的,这里没有问题,但是查询结果不同,利用了索引查询的语句中如果只包含了那个索引列(覆盖索引),那么这种情况会查询很快,这里就是这种情况。

利用覆盖索引,将查询语句需要扫描表的行数降低到最少,即可降低查询时间。

3、问题解决

按照上面的分析,我们使用表连接的情况实现SQL优化,如下:

select a.* FROM (              SELECT pk_id                 FROM event_data c                WHERE c.receive_time >= '2018-03-28 00:00:00'                  AND c.receive_time <= '2018-03-28 23:59:59'                       ORDER BY c.receive_time DESC                LIMIT 56280,15                  ) b         left join event_data a                on a.pk_id=b.pk_id

执行时间为0.048秒,达到优化目标。

上述内容就是如何解决MySQL数据量增大之后翻页慢的问题,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何解决MySQL数据量增大之后翻页慢的问题

本文链接: https://lsjlt.com/news/67859.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何解决MySQL数据量增大之后翻页慢的问题
    本篇文章为大家展示了如何解决MySQL数据量增大之后翻页慢的问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySQL最易碰到的性能问题就是数据量逐步增大之后的翻...
    99+
    2024-04-02
  • MyBatisPlus 大数据量查询慢的问题解决
    目录常规查询流式查询MyBatis 流式查询接口游标查询大数据量操作的场景大致如下: 数据迁移数据导出批量处理数据 在实际工作中当指定查询数据过大时,我们一般使用分页查询的方式一页一...
    99+
    2023-02-05
    MyBatis Plus 查询慢 MyBatisPlus 大数据量查询
  • MySQL如何解决delete大量数据后空间不释放的问题
    本篇内容主要讲解“MySQL如何解决delete大量数据后空间不释放的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何解决delete...
    99+
    2024-04-02
  • 如何优化数据量很大,分页查询很慢的问题
    这篇文章主要介绍“如何优化数据量很大,分页查询很慢的问题”,在日常操作中,相信很多人在如何优化数据量很大,分页查询很慢的问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何...
    99+
    2024-04-02
  • mysql limit分页过慢的问题如何解决
    本篇内容主要讲解“mysql limit分页过慢的问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql limit分页过慢的问题如何解决”吧!1、使用表的覆盖索引加速分页查询。由...
    99+
    2023-06-20
  • 如何解决mysql大表查询慢的问题
    小编给大家分享一下如何解决mysql大表查询慢的问题,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql大表查询慢的优化方法:1、合理建立索引,通常查询利用到索引比不用索引更快;2、对关键...
    99+
    2024-04-02
  • 如何解决Mysql大量数据导入遇到的问题
    这篇文章主要介绍如何解决Mysql大量数据导入遇到的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在项目中,经常会碰到往数据库中导入大量数据,以便利用sql进行数据分析。在导入数...
    99+
    2024-04-02
  • 如何解决jqGrid翻页时数据选中丢失问题
    小编给大家分享一下如何解决jqGrid翻页时数据选中丢失问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我在项目中使用jqGr...
    99+
    2024-04-02
  • MYSQL大表改字段慢问题如何解决
    本文小编为大家详细介绍“MYSQL大表改字段慢问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“MYSQL大表改字段慢问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。MYSQL的ALTER T...
    99+
    2023-07-05
  • 如何解决Mysql导入大容量SQL文件数据问题
    这篇文章主要介绍了如何解决Mysql导入大容量SQL文件数据问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。mysql在通过导入sql文件...
    99+
    2024-04-02
  • mysql数据量太大如何解决
    有几种方法可以解决MySQL数据量过大的问题: 数据库分区:将数据库表按照某种规则进行分区,分成多个小表,可以提高查询速度和管理...
    99+
    2024-05-14
    mysql
  • 解决Python访问MySQL数据库速度慢的问题
    这两天写了个作业,关于学生选课系统的,随后完成后也会发布到我的博客里面。室友的访问速度几乎是毫秒级,而我的起码要等上四五秒钟。 我总结的影响访问速度的原因主要有以下几种: 主机名 重复开、关数据库 后台数据库中的数据...
    99+
    2022-05-29
    Python MySQL 数据库速度慢
  • 如何解决MySQL数据库大小写敏感的问题
    小编给大家分享一下如何解决MySQL数据库大小写敏感的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在MySQL中,数据库对...
    99+
    2024-04-02
  • 如何解决vue build打包之后首页白屏的问题
    这篇文章主要为大家展示了“如何解决vue build打包之后首页白屏的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决vue build打包之后首页白...
    99+
    2024-04-02
  • 如何通过php函数解决页面渲染慢的问题?
    在开发网页应用的过程中,页面渲染慢是一个常见的问题。用户访问一个网页时,如果页面渲染时间过长,可能会导致用户的不耐烦,甚至放弃访问。因此,加快页面渲染速度对于提高用户体验和页面性能至关重要。PHP 是一种广泛使用的服务器端编程语言,它拥有丰...
    99+
    2023-10-21
    PHP函数 页面渲染
  • 如何解决mysql导入数据库文件太大的问题
    这篇文章给大家分享的是有关如何解决mysql导入数据库文件太大的问题的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。mysql导入数据库的文件太大的解决办法:首先打开【php.in...
    99+
    2024-04-02
  • MySQL删除和插入数据很慢的问题解决
    公司开发人员在测试环境中执行一条 insert 语句时,需要花费 10 几秒才可以执行成功。查看测试环境数据库性能、数据量、死锁等信息,均为发现异常。最后通过修改日志写入方式解决此问题。 1. 修改办法 修改/et...
    99+
    2022-05-14
    MySQL删除数据很慢 MySQL 插入数据很慢
  • Excel数据导入Mysql常见问题汇总:如何解决导入大量数据时内存溢出的问题?
    Excel数据导入Mysql常见问题汇总:如何解决导入大量数据时内存溢出的问题?导入Excel数据到Mysql数据库是一个常见而重要的任务,在处理大量数据时,有时会遇到内存溢出的问题。本文将介绍一些解决这一问题的方法。拆分数据:如果Exce...
    99+
    2023-10-22
    Excel MySQL 内存溢出 解决问题 导入
  • mysql导出数据量过大如何解决
    当导出的数据量过大时,可以尝试以下方法来解决问题: 使用数据库工具:使用数据库管理工具如Navicat或MySQL Workbe...
    99+
    2024-05-14
    mysql
  • MySQL单表数据量过大如何解决
    在MySQL中,当单表的数据量过大时,可以采取以下几种方法来解决问题: 使用索引:在表的字段上创建适当的索引,可以提高查询效率,...
    99+
    2024-05-14
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作