当前位置:首页 > 日记 > 正文

高效MySQL分页方法及原理

高效MySQL分页方法及原理
首先,看看分页的基本原理:
复制代码代码如下所示:
MySQL >解释由ID * DESC LIMIT 10000消息顺序选择,20G 1。行***************** **************编号:1 select_type:简单表:消息类型:指数possible_keys:空键:主要key_len:4编号:空10020行:1行:额外的设置(0秒)
10020限制10000,20手段对符合条件的10000线扫描,扔在回归前的最后20行,问题就在这里,如果是限制100000100,扫描100100行,在一个高度并行的应用程序,每个查询需要扫描超过10W,性能会大大降低。在这篇文章中,极限性能是没有问题,因为只有N线扫描它也提到。

一个线索的方法,本文中提到的,页面提供一些线索,如选择或由ID * DESC消息顺序、ID按降序分页,20页,当前是第十页,该页的条目ID最高是9527,最低是9500,如果我们只提供一个页面,接下来这跳页(不提供N个页面跳转),SQL语句,当你处理一个页面可以:
复制代码代码如下所示:
从ID为9527的ID为20的消息中选择*;
在处理下一页时,SQL语句可以是:
复制代码代码如下所示:
SELECT * FROM消息ID<9500订单ID DESC LIMIT 20;

不管翻过多少页,每次只扫描20行。

缺点是我们只能提供到最后一页和下一页的链接,但是我们的产品经理非常喜欢这种链接方式。你是做什么的

如果极限m n,不可避免地,优化效率,只有尽可能的让米小,我们延续之前的线索,或通过ID * DESC消息顺序选择,ID按降序分页,20页,当前是第十页,该页的条目ID的最大值是9527,9500,例如最小,跳到第八页,我看到SQL语句可以写:

复制代码代码如下所示:
SELECT * FROM消息ID > 9527订单ID ASC限制20,20;

跳转到第第十三页:
复制代码代码如下所示:
SELECT * FROM消息ID<9500订单ID DESC LIMIT 20;

原理是一样的。它记录当前页id的最大值和最小值,计算跳转页面和当前页之间的相对偏移量。因为页面是相似的,所以偏移量不大,所以m值相对较小,这大大减少了扫描行数。实际上,传统的限制m和n的相对偏移总是第一页。这样的话翻到后面,效率就更差了,上面的方法就没有这个问题了。

注意在SQL语句中,ASC和DESC,如果是ASC的结果,记得要反它当它显示。

它已经在一个表的总60w数据测试,而且效果非常明显。

相关文章

win7如何修改的情况下,DNS地址不可

win7如何修改的情况下,DNS地址不可

地址,网站,修改,情况下,电脑软件,注释:修改计算机DNS地址或刷新DNS缓存以解决网站无法访问的情况。win7系统下,DNS地址的方法证明,和XP和Win8基本相似。 在今天下午三点,在中国很多网站无法访问。这个问题是由中国顶级域名根服务器故障引起的,这…

VPN不能玩游戏,QQ可以上网玩(解决)

VPN不能玩游戏,QQ可以上网玩(解决)

玩游戏,电脑软件,VPN,QQ,问题: 我喜欢玩守卫遗迹游戏。有些同志玩dota2美丽的衣服和我一起玩,怕网速慢玩DOTA2,就买了一个VPN。连接后,发现QQ不能玩游戏或上网。之后,被关闭了,默认网关在远程网络中被使用。 答案uff1a 上述问题的根源在于路由…

一些东方MySQL优化整理

一些东方MySQL优化整理

优化,电脑软件,MySQL,1。查询的帮助内容 2。使用合成散列值分隔散点或文本。 三.货币使用定点数(小数或数值) 4.sql_mode 伦德(1000)5.order极限; 6。优化显示状态like'com'com_select com_insert等查看插入或查询更多 的7.handler_read_key值…

PHP操作xmlxml标记的属性分析

PHP操作xmlxml标记的属性分析

操作,属性,分析属性,标记,电脑软件,本文演示了PHP操作XML的XML标签的属性,供您参考,具体分析如下: 复制代码代码如下所示: 乔 女性的 二十三 周宇 男性的 二十六 属性的文字,如id =no001 案。 注: (1)属性值必须用单引号或双引号分开。 (2)XM…

emule.exe是什么文件的过程电驴过

emule.exe是什么文件的过程电驴过

查询,文件,过程,电驴,电脑软件,点评:emule.exe是eMule文件共享软件的主程序 进程文件:eMule或emule.exe 进程名称:eMule组件 过程类别:安全风险的过程 英文描述: emule.exe是emule应用主程序。电驴,应用,它也被称为以下三个方面。 中文参考: emule…

XP系统映像格式转换成NTFS格式(解决

XP系统映像格式转换成NTFS格式(解决

解决方案,系统,映像,格式,转换成,问题: 我的一个XP系统的鬼的形象很好,这一点,它在FAT32格式。现在,当你存储超过4GB的文件在硬盘,FAT32格式的分区不支持这么大的单个文件。它能直接将图像转换为NTFS格式,FAT32转换为NTFS没有恢复系统。有没有办…

mysql查询sql语句在指定日期执行的

mysql查询sql语句在指定日期执行的

语句,执行,日期,查询,原理,在设计数据库教程时,我们必须注意时间字段是int(11),以便存储在数据库中的数据是一个数字日期戳。我们可以用mktime函数找出电流的时间日期戳,加减就好。下面举个例子。 一个月 复制代码代码如下所示: 上个月美元= mkti…

解决MySQL错误1017:找不到文件:/xxx.

解决MySQL错误1017:找不到文件:/xxx.

错误,误差,文件,找不到,电脑软件,对于这一问题的原因并不是 / XXX。frm'file失踪,但这些文件的权限(如果是MySQL)不知道他们为什么变成了根。 解决方案:光盘目录中的xxx.frm文件,执行该命令:chown mysql.mysql *允许所有文件更改权!…

unix系统常见故障十例分析

unix系统常见故障十例分析

系统,常见故障,电脑软件,unix,点评:本文将为您介绍UNIX系统十大故障的详细分析。 作为一个多用户操作系统具有高效、稳定、安全性能高、SCO OpenServer 5.0.5已广泛应用于金融、保险、电信等部门。一些系统发生故障,有时在系统的日常维护中,…

是的cnqmax过程cnqmax.exe过程详细

是的cnqmax过程cnqmax.exe过程详细

注释,是一个,过程,详细,电脑软件,点评:cnqmax.exe是randex。P病毒相关程序。该病毒通过网络传播,利用IRC服务控制 进程文件:cnqmax或cnqmax.exe 进程名称:W32。randex。P 过程类别:安全风险的过程 英文描述: Cnqmax.exe添加到系统中作为一个结…

美丽的蝴蝶公主插画画家

美丽的蝴蝶公主插画画家

插画,画家,蝴蝶,公主,美丽,美的效果是很复杂的,特别是在注意时间的时候要注意尺度好,不要太亮,不要太强,这样梦的效果可以呈现得更加清晰和明显。 最终效果…

Word2003文本超出页面边界

Word2003文本超出页面边界

边界,文本,页面,电脑软件,如何在文本超出页面边界时,Word2003打印 请确认所选择的打印机是您正在使用的打印机,请单击文件菜单上;;打印命令,然后在名称;;单击打印机的名称使用在箱。 请确认您选择了正确的纸张尺寸。点击文件菜单上的页面设置命令,…