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

用MySQL优化限制查询语句的5种方法

用MySQL优化限制查询语句的5种方法
MySQL的分页相对简单。它只需要限制偏移量和长度来获取数据。然而,当偏移量和长度较大时,MySQL性能显著下降。

1。子查询优化方法

首先查找第一个数据,然后与数据相等的id是要获取的数据。

缺点:数据必须是连续的。可以说没有地方条件。其中条件将过滤数据并导致数据失去连续性。

复制代码代码如下所示:

设置分析= 1;

查询OK,0行受影响(0秒)

从成员中选择计数(*);

---------- + +

|计数(*)|

---------- + +

169566 | |

---------- + +

1行集(0秒)

传呼机- grep MySQL >!

bp机to'grep ~ --!

从成员限制10, 100选择*;

100行(0秒)

MySQL >选择*从成员MemberID(选择memberid成员限制> = 10,1)极限100;

100行(0秒)

从成员限制1000, 100选择*;

100行(0.01秒)

MySQL >选择*从成员MemberID(选择memberid成员限制> = 1000,1)极限100;

100行(0秒)

从成员限制100000, 100选择*;

100行(0.10秒)

MySQL >选择*从成员MemberID(选择memberid成员限制> = 100000,1)极限100;

100行(0.02秒)

nopager MySQL >

传呼机设置标准
显示配置文件

*************************** 1。行***************************

query_id:1

持续时间:0.00003300

查询:从成员中选择计数(*)

*************************** 2。行***************************

query_id:2

持续时间:0.00167000

查询:从成员限制10, 100中选择*

*************************** 3。行***************************

query_id:3

持续时间:0.00112400

查询:查询会员MemberID(选择memberid成员限制> = 10,1)极限100

*************************** 4。行***************************

query_id:4

持续时间:0.00263200

查询:从成员限制1000, 100中选择*

*************************** 5。行***************************

query_id:5

持续时间:0.00134000

查询:查询会员MemberID(选择memberid成员限制> = 1000,1)极限100

*************************** 6。行***************************

query_id:6

持续时间:0.09956700

查询:从成员限制100000, 100中选择*

*************************** 7。行***************************

query_id:7

持续时间:0.02447700

查询:查询会员MemberID(选择memberid成员限制> = 100000,1)极限100
结果表明,当偏移量大于1000时,子查询方法能有效地提高性能。

2。倒排表优化法

倒表方法类似于建立索引,使用表来维护页面数量,然后通过有效连接获取数据。

缺点:只适用于固定数量的数据,数据不能删除,页面表维护困难。

倒排表被引入:(反向索引被称为搜索引擎的基石)。

倒排表是一个倒排索引,存储在内存中,可以添加到一个倒排记录中。

临时倒排文件是一个倒排索引,它存储在磁盘中,不能以不可添加到记录的文件形式存储。临时倒排文件是中等规模的倒排索引。

最后一个倒排文件是指以文件的形式以文件的形式存储的临时倒排文件的倒排索引,最后的倒排文件是一个大的倒排索引。

倒排索引是一个抽象概念,倒排表、临时倒排文件和最终倒排文件是倒排索引的三种不同形式。

三.反向查找优化方法

当偏移量超过记录的一半时,首先使用该顺序,以便偏移量被反转。

缺点:为了优化是相当麻烦的。增加指标和指标对数据修改的效率,并知道总记录数,偏移量大于一半的数据。

极限偏差算法:

前向查找:(当前页- 1)*页长度

反向查找:总记录当前页长度

做实验看看表演是怎样的

记录总数:1628775

每页记录数:40

页面总数:1628775 40=40720

中间页数:40720 2=20360

第二万一千页

正向查找SQL:

复制代码代码如下:SELECT * FROM ` ABC `哪里` batchid ` = 123限839960, 40

时间:1.8696秒

反向查找SQL:

复制代码代码如下:SELECT * FROM ` ABC `哪里` batchid ` = 123阶的inputdate DESC LIMIT 788775, 40

时间:1.8336秒

第三万页

正向查找SQL:

复制代码代码如下:SELECT * FROM ` ABC `哪里` batchid ` = 123限1199960, 40

时间:2.6493秒

反向查找SQL:

复制代码代码如下:SELECT * FROM ` ABC `哪里` batchid ` = 123阶的inputdate DESC LIMIT 428775, 40

时间:1.0035秒

注意,反向查找结果是降序降序,和InputDate是记录的插入时间,并且还可以结合的关键,但它不方便。

4.limit约束优化方法

极限偏移限制低于某个数字。这个数字等于没有数据,我记得阿里巴巴的DBA说他们这样做了。

5。搜索索引的方法

限制MySQL的工作原理是读取记录,然后抛弃了之前,我想读的,所以高性能会更糟。

预优化SQL:

复制代码如下:SELECT * FROM的last_active极限50,5成员顺序

优化的SQL语句:

复制代码代码如下:SELECT * FROM内部成员加入(选择member_id由last_active 50, 5成员的顺序)

不同的是,优化前需要更多的我/ O废物的SQL,因为阅读指数首先读取数据,然后放弃不必要的线条,优化的SQL语句(子查询)只读指数(覆盖率)是好的,然后读取所需的柱通过member_id。

摘要:优化的限制是比较有限的,所以实际情况的使用与否都要具体分析。

相关文章

投诉通过后,哪些服务将被取消

投诉通过后,哪些服务将被取消

服务,取消,投诉,将被,电脑软件,投诉通过后,哪些服务将被取消 请愿书通过后,手机或小灵通开启的无线QQ手机绑定服务将自动取消。 您可以选择取消移动或PHS会员服务。 温馨提示:由于运营商的原因,CDMA用户(189 / 133 / 153),一些中国联通、网通、…

WIN7记事本协会未能打开日记(溶液)

WIN7记事本协会未能打开日记(溶液)

溶液,协会,日记,电脑软件,问题: 我的电脑是使用win7系统。最近我不能建立一个新的记事本(日记)文件。单击新菜单后,总会提示该关联失败。以前的新记事本文件无法打开,提示无法访问指定的设备、路径或文件。您可能无法访问此项目。我不知道如何…

的作用是什么suss.exe-调查

的作用是什么suss.exe-调查

作用,电脑软件,suss,exe,点评:suss.exe是微软微软的Windows开发资源包相关程序为本地用户提供服务 进程文件:调查或suss.exe 过程名称:微软交换机用户服务器 过程类别:安全风险的过程 英文描述: Suss.exe是微软Windows资源工具包的一部分,,,,,侯 中…

使用Linux系统的性能监控工具KSysg

使用Linux系统的性能监控工具KSysg

系统,性能,监控工具,主机,电脑软件,评论:KDE系统保护(KSysguard)是一个KDE的任务管理和性能监控工具,它采用客户/服务器体系结构的监控机和监控远程主机。以下是使用方法 KDE系统保护预设视窗 前端图形界面使用一个传感器(传感器)获得的信息显示…

scanfrm.exe的过程是怎样的

scanfrm.exe的过程是怎样的

的是,过程,是怎样,电脑软件,scanfrm,评论:scanfrm.exe系统进程详解 问:在系统中有一个系统的程序scanfrm.exe,这个程序是什么,它是一种病毒,最后你怎么办呢 答:scanfrm.exe是红星的过程中,不系统。 scanfrm.exe是自由时间进程查杀2009版。如果您…

Win8如何安装新字体

Win8如何安装新字体

字体,安装,电脑软件,点评:如何在Win8系统并安装新的字体请看这篇文章的具体指导。它会对你有帮助。 百度搜索字体下载 打开网站找到我们需要的字体并下载它。 解压下载的字体 组合键Win x打开菜单并选择控制面板。 打开大型图标的控制面板窗…

与current_timestamp解MySQL错误的

与current_timestamp解MySQL错误的

时间戳,错误,电脑软件,current_timestamp,MySQL,在部署程序时遇到的一个问题是MySQL定义如下: 复制代码代码如下所示: 创建表(例如) ` ID `整数符号的非空auto_increment, `创建时间戳不`零违约current_timestamp, ` lastUpdated `时间空更新curr…

win7家庭版升级到最终的方法(图解)

win7家庭版升级到最终的方法(图解)

方法,家庭版,升级到,电脑软件,问题: 我的笔记本预装Windows7家庭版,功能不是很多,所以买终极序号window7,是一个真正的windows7,想问一下如何直接从Windows7升级到最终的家吗因为在你的计算机上安装了很多程序,所以不想重装系统。 回答: 是的,不…

mysql查询缓存原理分析

mysql查询缓存原理分析

原理分析,查询缓存,电脑软件,mysql,原理 QueryCache(以下简称QC)是基于SQL语句缓存。如果一个SQL查询从选择MySQL服务器将尝试使用QC,每个高速缓存存储为SQL文本作为重点。在应用QC、SQL文本将不受理任何更多的,说,两个SQL语句,如果差异是连字符(…

如何修改C、D、D等字母名称系统

如何修改C、D、D等字母名称系统

系统,修改,字母,名称,电脑软件,点评:喜欢C是属于系统驱动的,D驱动系统是,有时我们需要改变系统驱动的名称,那么我们怎么能改变它,这里是一个很好的方式,你可以尝试操作量。 也许你不知道什么是系统驱动,比如C是系统驱动,D驱动系统是。但是有时候我…

有些字打不出来/搜狗生僻字的设置

有些字打不出来/搜狗生僻字的设置

设置,方法,搜狗,生僻字,不出来,问题: 我用了五种搜狗输入法2,发现有些词不能出来。如:和同事使用同一版本的搜狗输入法,但可以玩那个词。不知道发生了什么事 解决方案: 有些字打不出来。可能无法打开搜狗五笔查询GBK汉字罕见;。 打开GBK法:中国…

powerpoint2010动画刷快速设置动画

powerpoint2010动画刷快速设置动画

设置,动画效果,动画,快速,电脑软件,你还记得《办公室里的格式刷》吗它可以复制一个对象的格式到其他对象。一个非常有用的工具,添加到powerpoint2010;动画刷我们可以用它来快速设置动画效果。 powerpoint2010复制在一个对象的动画效果 如果A…