广告
返回顶部
首页 > 资讯 > 数据库 >mysql实现分页查询功能的方法
  • 199
分享到

mysql实现分页查询功能的方法

2024-04-02 19:04:59 199人浏览 安东尼
摘要

小编给大家分享一下Mysql实现分页查询功能的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql分页查询的方法:1、用具体字段代替【*】;2、先查寻索引;3、使用【between …

小编给大家分享一下Mysql实现分页查询功能的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

mysql分页查询的方法:1、用具体字段代替【*】;2、先查寻索引;3、使用【between … and】,id必须是连续递增的;4、保留上一页记录所在id。

mysql分页查询的方法:

简述

  • 通常在Mysql中通过limit #{limit},#{offset}来进行分页查询。

  • 当表中记录较多且页数(#{limit})较大时,分页查询效率变慢。

  • 变慢的原因时,分页查询时,会先查询出limit + offset条记录,然后截取后面的offset记录。

  • 本文以实际1.4亿的表big_table为例,记录如何优化分页查询。

测试说明

  • 测试表:big_table,数据量:1.4亿。

原始SQL(4500ms)

-- 原始分页查询,耗时:4500ms
select * 
from big_table
limit 2000000,10;

慢的原因:

1、查询条件为*

2、limit = 2000000太大

优化一(推荐):用具体字段代替*(1600ms)

-- 用明确字段代替*,耗时:1600ms
select id,uid,media_id,media_name,news_id,comment 
from big_table
limit 2000000,10;

优化二:先查寻索引(450ms)

-- 方法1:先对索引进行分页查询,耗时:450ms
select * from big_table AS h inner join
 (select id from big_table
  limit 2000000,10) AS ss 
 on h.id = ss.id;
-- 方法2:先查询出起始位置的索引,耗时:450ms
select * from big_table
where id > (
select id from big_table limit 2000000,1
)
limit 10;

优化三:between … and(5ms)

限制:id必须是连续递增的。

-- 上一页保留最后一条记录所在id,耗时:5ms
select * from big_table
where id between 4882489 and 4882489 + 10 ;

优化四(推荐):保留上一页记录所在id(5ms)

限制:需要保留上一页的最后一条记录所在id

-- 上一页需要保留最后一条记录所在id,耗时:5ms
select * from big_table
where id > 4882488
limit 10;

看完了这篇文章,相信你对mysql实现分页查询功能的方法有了一定的了解,想了解更多相关知识,欢迎关注编程网数据库频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: mysql实现分页查询功能的方法

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

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

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

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

下载Word文档
猜你喜欢
  • mysql实现分页查询功能的方法
    小编给大家分享一下mysql实现分页查询功能的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql分页查询的方法:1、用具体字段代替【*】;2、先查寻索引;3、使用【between …...
    99+
    2022-10-18
  • SpringBoot分页查询功能的实现方法
    目录前言:首先是手动实现分页查询:接下来是关联前端分页和后台数据:总结前言: 学习了SpringBoot分页查询的两种写法,一种是手动实现,另一种是使用框架实现。现在我将具体的实现流...
    99+
    2022-11-13
  • MySQL实现分页查询的方法
    这篇文章主要介绍MySQL实现分页查询的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL中实现分页查询:在数据量较小的情况下可使用limit查询来实现分页查询,在数据量大...
    99+
    2022-10-18
  • MySql实现翻页查询功能
    首先明确为什么要使用分页查询,因为数据庞大,查询不可能全部显示在页面上,如果全部显示在页面上,也会造成查询速度慢的情况,所以分页查询解决了①数据查询;②性能优化,等(其他问题欢迎补充)的问题。 分页查询也分...
    99+
    2022-10-18
  • Java实现分页查询功能
    分页查询 分页查询将数据库中庞大的数据分段显示,每页显示用户自定义的行数,提高用户体验度,最主要的是如果一次性从服务器磁盘中读出全部数据到内存,有内存溢出的风险 真假分页 假分页: ...
    99+
    2022-11-13
  • redis实现分页查询的方法
    这期内容当中小编将会给大家带来有关redis实现分页查询的方法,以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。基于SortedSet的分页查询缓存方案首先想到的解决方法是使用@see L...
    99+
    2022-10-18
  • ajax如何实现分页查询功能
    小编给大家分享一下ajax如何实现分页查询功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ajax分页查询功能的具体代码,具体内容如下显示的效果如下:实现效果的...
    99+
    2023-06-08
  • JavaWeb分页查询功能怎么实现
    本篇内容主要讲解“JavaWeb分页查询功能怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaWeb分页查询功能怎么实现”吧!效果:实现:分页查询有几个比较重要的参数,pageNum...
    99+
    2023-06-26
  • Java如何实现分页查询功能
    在Java中,可以使用分页查询功能来实现对数据库中的数据进行分页显示。下面是一个简单的示例代码:```java// 定义每页显示的记录数int pageSize = 10;// 定义当前页码int currentPage = 1;// ...
    99+
    2023-08-11
    Java
  • Vue+ElementUI如何实现分页功能查询mysql数据
    这篇文章给大家分享的是有关Vue+ElementUI如何实现分页功能查询mysql数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.问题当数据库中数据比较多时,就要每次只查询一部分来缓解服务器和页面的压力。这...
    99+
    2023-06-22
  • MySQL分页查询的5种方法
    方式1: select * from table order by id limit m, n; 很简单,该语句的意思就是查询m+n条记录,去掉前m条,返回后n条。无疑该查询能够实现分页,但m越大,查询性能就越低,因为MySQL需...
    99+
    2023-09-07
    sql 数据库 database
  • MyBatis-Plus实现2种分页方法(QueryWrapper查询分页和SQL查询分页)
    目录 1 MyBatisPlusConfig2 UserPagination3 Mapper3.1 UserMapper.java3.2 UserMap...
    99+
    2022-11-12
  • kkpager如何实现ajax分页查询功能
    这篇文章主要介绍了kkpager如何实现ajax分页查询功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。先看下前台代码:@{  Layout ...
    99+
    2023-06-08
  • jsp+mysql实现网页的分页查询
    本文实例为大家分享了jsp+mysql实现网页的分页查询的具体代码,供大家参考,具体内容如下 一、实现分页查询的核心sql语句 (1)查询数据库的记录总数的sql语句: selec&...
    99+
    2022-11-13
  • MySQL的分页查询方式
    这篇文章主要介绍“MySQL的分页查询方式”,在日常操作中,相信很多人在MySQL的分页查询方式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL的分页查询方式”的疑惑...
    99+
    2022-10-18
  • Java分页查询的几种实现方法
    最近在做需求的过程中遇到几个需要分页查询的需求,我也对分页有了较深的了解。分页一般分为两种一种是直接在sql中分页,一种是在内存中分页。本文仅针对内存中分页做记录。 第一种    如果是一个查询接口,向接口中传入page,和size(p...
    99+
    2023-09-01
    java 数据库 mysql
  • 实现mysql树查询的功能
    这篇文章给大家分享的是有关实现mysql树查询的功能的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。需求:查找当前(任意)级别下的所有子节点。通过自定义mysql函数实现,先贴代码...
    99+
    2022-10-18
  • SQL实现分页查询方法总结
    开发过程中经常遇到分页的需求,今天在此总结一下吧。 简单说来方法有两种,一种在源上控制,一种在端上控制。源上控制把分页逻辑放在SQL层;端上控制一次性获取所有数据,把分页逻辑放在UI...
    99+
    2022-11-12
  • Springboot+Mybatis实现分页加条件查询功能
    本文实例为大家分享了Springboot+Mybatis实现分页加条件查询的具体代码,供大家参考,具体内容如下 User.xml <xml version="1.0" enco...
    99+
    2022-11-13
  • Mybatis实现联表查询并且分页功能
    今天同学突然问我这个怎么搞。 然后自己搞了一下发现这个玩意有坑。。就记录一下 0. 表结构 person表 cat表 一个person有多个cat 实体类就这么写 1. 实体类 ...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作