iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么样优化mysql千万级数据分页查询性能
  • 599
分享到

怎么样优化mysql千万级数据分页查询性能

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

本文主要给大家简单讲讲怎么样优化Mysql千万级数据分页查询性能,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望怎么样优化mysql千万级数据分页查询性能这篇

本文主要给大家简单讲讲怎么样优化Mysql千万级数据分页查询性能,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望怎么样优化mysql千万级数据分页查询性能这篇文章可以给大家带来一些实际帮助。                                                             

实验

1.直接使用用limit start, count分页语句:

select * from order limit start, count

当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时间(每页取20条), 如下:

select * from order limit 10, 20 0.016秒

select * from order limit 100, 20 0.016秒

select * from order limit 1000, 20 0.047秒

select * from order limit 10000, 20 0.094秒

我们已经看出随着起始记录的增加,时间也随着增大, 这说明分页语句limit跟起始页码是有很大关系的,那么我们把起始记录改为40w看下

select * from order limit 400000, 20 3.229秒

再看我们取最后一页记录的时间

select * from order limit 800000, 20 37.44秒

显然这种时间是无法忍受的。

从中我们也能总结出两件事情:

1)limit语句的查询时间与起始记录的位置成正比

2)mysql的limit语句是很方便,但是对记录很多的表并不适合直接使用。

2.对limit分页问题的性能优化方法

利用表的覆盖索引来加速分页查询

我们都知道,利用了索引查询的语句中如果只包含了那个索引列(覆盖索引),那么这种情况会查询很快。

因为利用索引查找有优化算法,且数据就在查询索引上面,不用再去找相关的数据地址了,这样节省了很多时间。另外Mysql中也有相关的索引缓存,在并发高的时候利用缓存就效果更好了。

在我们的例子中,我们知道id字段是主键,自然就包含了默认的主键索引。现在让我们看看利用覆盖索引的查询效果如何:

这次我们之间查询最后一页的数据(利用覆盖索引,只包含id列),如下:

select id from order limit 800000, 20 0.2秒

相对于查询了所有列的37.44秒,提升了大概100多倍的速度

那么如果我们也要查询所有列,有两种方法,一种是id>=的形式,另一种就是利用join,看下实际情况:

SELECT * FROM order WHERE ID > =(select id from order limit 800000, 1) limit 20

查询时间为0.2秒,简直是一个质的飞跃啊,哈哈

另一种写法

SELECT * FROM order a JOIN (select id from order limit 800000, 20) b ON a.ID = b.id

查询时间也很短。

怎么样优化mysql千万级数据分页查询性能就先给大家讲到这里,对于其它相关问题大家想要了解的可以持续关注我们的数据库。我们的板块内容每天都会捕捉一些行业新闻及专业知识分享给大家的。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么样优化mysql千万级数据分页查询性能

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL百万级数据分页查询优化方案
    当需要从数据库查询的表有上万条记录的时候,一次性查询所有结果会变得很慢,特别是随着数据量的增加特别明显,这时需要使用分页查询。对于数据库分页查询,也有很多种方法和优化的点。下面简单说一下我知道的一些方法。 ...
    99+
    2024-04-02
  • Mysql中怎么优化千万级快速分页
    本篇文章为大家展示了Mysql中怎么优化千万级快速分页,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 数据表 collect ( id, title ,info ...
    99+
    2024-04-02
  • MySQL千万级数据查询的优化技巧及思路
    随着数据量的不断增长,MySQL千万级数据查询的优化问题也日益引人注目。在这篇文章中,我们将深入探讨MySQL千万级数据查询优化的方法和技巧,以帮助开发者更好地优化MySQL性能。 一、数据库设计 数据库设计是优化查询性能的关键,以下是一些...
    99+
    2023-09-03
    数据库 mysql java
  • oracle千万级数据怎么查询
    查询千万级数据可以采用以下方法:1. 使用索引:对于经常需要查询的字段,可以创建索引来加快查询速度。索引可以提高查询性能,但会增加写...
    99+
    2023-09-13
    oracle
  • MySQL中怎么优化千万级数据表
    MySQL中怎么优化千万级数据表,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。我这里有张表,数据有1000w,目前只有一个主键索引CREATE TAB...
    99+
    2023-06-20
  • sqlserver千万级数据怎么查询
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • MySQL百万级数据大分页查询优化的实现
    目录一、MySQL分页起点越大查询速度越慢二、 limit大分页问题的性能优化方法(1)利用表的覆盖索引来加速分页查询(2)用上次分页的最大id优化三、MySQL百万数据快速生成3....
    99+
    2024-04-02
  • MySQL千万级数据优化方案
    简介                           ↓↓↓处理千万级数据的MySQL数据库,可以采取以下优化措施↓↓↓                                                       ...
    99+
    2023-10-24
    mysql 数据库
  • 30个mysql千万级大数据SQL查询优化技巧详解
    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导...
    99+
    2024-04-02
  • MySQL千万级大数据SQL查询优化知识点有哪些
    这篇文章给大家分享的是有关MySQL千万级大数据SQL查询优化知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 wh...
    99+
    2024-04-02
  • mysql千万级数据量根据索引优化查询速度的实现
    (一)索引的作用 索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更...
    99+
    2024-04-02
  • 千万级数据的mysql数据库与优化方法
    本篇内容主要讲解“千万级数据的mysql数据库与优化方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“千万级数据的mysql数据库与优化方法”吧!1.对查询进行...
    99+
    2024-04-02
  • MySQL数据库千万级数据查询和存储的示例分析
    这篇文章主要介绍MySQL数据库千万级数据查询和存储的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!百万级数据处理方案数据存储结构设计表字段设计表字段 not null,因为 null 值很难查询优化且占用额...
    99+
    2023-06-15
  • 怎么在mysql中优化百万级数据表的查询
    怎么在mysql中优化百万级数据表的查询?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.两种查询引擎查询速度(myIsam 引擎 )InnoDB 中不保存表的...
    99+
    2023-06-15
  • mysql单表千万级数据查询的方法是什么
    在处理千万级数据的单表查询时,可以采取以下方法来提高查询效率: 使用合适的索引:在主键字段和经常用于查询的字段上创建索引,可以加...
    99+
    2024-03-02
    mysql
  • MySQL千万级数据表的优化实战记录
    前言 这里先说明一下,网上很多人说阿里规定500w数据就要分库分表。实际上,这个500w并不是定义死的,而是与MySQL的配置以及机器的硬件有关。MySQL为了提升性能,会将表的索引...
    99+
    2024-04-02
  • Mysql中一千万条数据怎么快速查询
    目录普通分页查询如何优化偏移量大采用id限定方式优化数据量大问题普通分页查询 当我们在日常工作中遇到大数据查询的时候,第一反应就是使用分页查询。 mysql支持limit语句来选取...
    99+
    2024-04-02
  • Kettle--MySQL生产数据库千万、亿级数据量迁移方案及性能优化
    一、Kettle环境搭建 一、Windows主要用于可视化创建数据迁移用到的ktr转换脚本、kjb作业脚本,以及脚本需要配置的DB2信息、读写性能优化信息等,也可直接在客户端完成不同数据库之间的数据迁移。 测试库表及数据 (1)创建测试库表...
    99+
    2023-09-10
    数据库 linux 服务器
  • MySQL千万级数据的大表优化解决方案
    目录1.数据库设计和表创建时就要考虑性能设计表时要注意:索引简言之就是使用合适的数据类型,选择合适的索引引擎2.sql的编写需要注意优化3.分区分区的好处是:分区的限制和缺点:分区的类型:4.分表5.分库mysql数据库...
    99+
    2022-11-20
    mysql千万级数据 mysql优化
  • MyBatis中怎么查询千万数据量
    这期内容当中小编将会给大家带来有关MyBatis中怎么查询千万数据量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。常规查询默认情况下,完整的检索结果集会将其存储在内存中。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作