广告
返回顶部
首页 > 资讯 > 数据库 >MySQL分页基本原理有哪些
  • 761
分享到

MySQL分页基本原理有哪些

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

这篇文章主要介绍“Mysql分页基本原理有哪些”,在日常操作中,相信很多人在mysql分页基本原理有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql分页基本原理有

这篇文章主要介绍“Mysql分页基本原理有哪些”,在日常操作中,相信很多人在mysql分页基本原理有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql分页基本原理有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  mysql>explainSELECT*FROMmessageORDERBYidDESCLIMIT10000,20\G*****************1.row**************id:1select_type:SIMPLEtable:messagetype:indexpossible_keys:NULLkey:PRIMARYkey_len:4ref:NULLrows:10020Extra:1rowinset(0.00sec)

  limit10000,20的意思扫描满足条件的10020行,扔掉前面的10000行,返回最后的20行,问题就在这里,如果是limit100000,100,需要扫描100100行,在一个高并发的应用里,每次查询需要扫描超过10W行,性能肯定大打折扣。文中还提到limitn性能是没问题的,因为只扫描n行。

  如何构建高效的MySQL分页

  文中提到一种”clue”的做法,给翻页提供一些”线索”,比如还是SELECT*FROMmessageORDERBYidDESC,按id降序分页,每页20条,当前是第10页,当前页条目id最大的是9527,最小的是9500,如果我们只提供”上一页”、”下一页”这样的跳转(不提供到第N页的跳转),那么在处理”上一页”的时候SQL语句可以是:

  SELECT*FROMmessageWHEREid>9527ORDERBYidASCLIMIT20;

  处理”下一页”的时候SQL语句可以是:

  SELECT*FROMmessageWHEREid<9500ORDERBYidDESCLIMIT20;   不管翻多少页,每次查询只扫描20行。   缺点是只能提供”上一页”、”下一页”的链接形式,但是我们的产品经理非常喜欢”<上一页123456789下一页>”这样的链接方式,怎么办呢?

  如果LIMITm,n不可避免的话,要优化效率,只有尽可能的让m小一下,我们扩展前面的”clue”做法,还是SELECT*FROMmessageORDERBYidDESC,按id降序分页,每页20条,当前是第10页,当前页条目id最大的是9527,最小的是9500,比如要跳到第8页,我看的SQL语句可以这样写:

  SELECT*FROMmessageWHEREid>9527ORDERBYidASCLIMIT20,20;

  跳转到第13页:

  SELECT*FROMmessageWHEREid<9500ORDERBYidDESCLIMIT40,20;   原理还是一样,记录住当前页id的最大值和最小值,计算跳转页面和当前页相对偏移,由于页面相近,这个偏移量不会很大,这样的话m值相对较小,大大减少扫描的行数。其实传统的limitm,n,相对的偏移一直是第一页,这样的话越翻到后面,效率越差,而上面给出的方法就没有这样的问题。   注意SQL语句里面的ASC和DESC,如果是ASC取出来的结果,显示的时候记得倒置一下。   已在60W数据总量的表中测试,效果非常明显。  

到此,关于“MySQL分页基本原理有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL分页基本原理有哪些

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL分页基本原理有哪些
    这篇文章主要介绍“MySQL分页基本原理有哪些”,在日常操作中,相信很多人在MySQL分页基本原理有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL分页基本原理有...
    99+
    2022-10-18
  • MySQL分页的基本原理
    这篇文章主要介绍“MySQL分页的基本原理”,在日常操作中,相信很多人在MySQL分页的基本原理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL分页的基本原理”的疑惑...
    99+
    2022-10-18
  • Mysql中基本语句优化的原则有哪些
    这篇文章给大家分享的是有关Mysql中基本语句优化的原则有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysql基本语句优化原则一、尽量避免在列上运算,这样会导致索引失效s...
    99+
    2022-10-18
  • MySQL基本操作有哪些
    这篇文章主要介绍“MySQL基本操作有哪些”,在日常操作中,相信很多人在MySQL基本操作有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL基本操作有哪些”的疑惑...
    99+
    2022-12-05
    mysql
  • mysql有哪些基本语法
    下面讲讲关于mysql有哪些基本语法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql有哪些基本语法这篇文章你一定会有所受益。      &...
    99+
    2022-10-18
  • MYSQL基本命令有哪些
    这篇文章主要讲解了“MYSQL基本命令有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MYSQL基本命令有哪些”吧! 一、...
    99+
    2022-10-18
  • MySQL的基本操作有哪些
    这篇文章主要介绍了MySQL的基本操作有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL的基本操作有哪些文章都会有所收获,下面我们一起来看看吧。1. pymysql的基本操作# ###&n...
    99+
    2023-06-28
  • MySQL读写分离基本原理是什么
    本篇内容主要讲解“MySQL读写分离基本原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL读写分离基本原理是什么”吧!一、读写分离工作原理在一些...
    99+
    2022-10-19
  • oracle分页和mysql分页有哪些区别
    本篇内容介绍了“oracle分页和mysql分页有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区...
    99+
    2022-10-19
  • join 优化的基本原则有哪些
    这篇文章给大家分享的是有关join 优化的基本原则有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 1、join 优化的基本原则:  ...
    99+
    2022-10-18
  • MySQL分支版本有哪些
    这篇文章主要介绍了MySQL分支版本有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1.MarriDBM...
    99+
    2022-10-18
  • MySQL基本语句操作有哪些
    这篇文章主要介绍了MySQL基本语句操作有哪些,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。数据库操作语句创建create database 数...
    99+
    2022-10-18
  • mysql sql优化的基本的分析命令有哪些
    今天就跟大家聊聊有关mysql sql优化的基本的分析命令有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 exp...
    99+
    2022-10-18
  • mysql有哪些基本的数据类型
    本文主要给大家介绍mysql有哪些基本的数据类型,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下mysql有哪些基本的数据类型吧。数值类型整数类型ti...
    99+
    2022-10-18
  • mysql有哪些常用的基本语句
    下文我给大家简单讲讲关于mysql有哪些常用的基本语句,大家之前了解过相关类似主题内容吗?感兴趣的话就一起来看看这篇文章吧,相信看完mysql有哪些常用的基本语句对大家多少有点帮助吧。create user...
    99+
    2022-10-18
  • 操作MySQL的基本命令有哪些
    本篇文章给大家主要讲的是关于操作MySQL的基本命令有哪些的内容,感兴趣的话就一起来看看这篇文章吧,相信看完操作MySQL的基本命令有哪些对大家多少有点参考价值吧。操作系统:CentOS数据库系统:MySQ...
    99+
    2022-10-18
  • MySQL常用基本操作都有哪些
    MySQL常用基本操作都有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 MySQL常用操作基本操作,以下都是MySQL5.0下...
    99+
    2022-10-19
  • MySQL的基本使用方法有哪些
    今天小编给大家分享一下MySQL的基本使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。MySQL 是最流行的关系...
    99+
    2023-06-27
  • 数据库基本理论有哪些
    今天就跟大家聊聊有关数据库基本理论有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。        &nb...
    99+
    2022-10-18
  • Socks5代理基本因素有哪些
    本篇内容介绍了“Socks5代理基本因素有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Socks是一种Internet协议,它通过...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作