php下MYSQL limit的优化


Posted in PHP onJanuary 10, 2008

同样是取10条数据
select * from yanxue8_visit limit 10000,10 

select * from yanxue8_visit limit 0,10
就不是一个数量级别的。 

    网上也很多关于limit的五条优化准则,都是翻译自mysql手册,虽然正确但不实用。今天发现一篇文章写了些关于limit优化的,很不错。原文地址:http://www.zhenhua.org/article.asp?id=200

    文中不是直接使用limit,而是首先获取到offset的id然后直接使用limit size来获取数据。根据他的数据,明显要好于直接使用limit。这里我具体使用数据分两种情况进行测试。(测试环境win2033+p4双核(3GHZ) +4G内存 mysql 5.0.19)

1、offset比较小的时候。 
 select * from yanxue8_visit limit 10,10 
   多次运行,时间保持在0.0004-0.0005之间 
  Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10,1
) limit 10 

  多次运行,时间保持在0.0005-0.0006之间,主要是0.0006
 结论:偏移offset较小的时候,直接使用limit较优。这个显然是子查询的原因。
2、offset大的时候。 
 select * from yanxue8_visit limit 10000,10 
  多次运行,时间保持在0.0187左右 
  Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10000,1
) limit 10
多次运行,时间保持在0.0061左右,只有前者的1/3。可以预计offset越大,后者越优。 

PHP 相关文章推荐
PHP简洁函数(PHP简单明了函数语法)
Jun 10 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
php常用字符串处理函数实例分析
Nov 22 PHP
PHP截取指定图片大小的方法
Dec 10 PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 PHP
php定义参数数量可变的函数用法实例
Mar 16 PHP
php实现根据IP地址获取其所在省市的方法
Apr 30 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
优化使用mysql存储session的php代码
Jan 10 #PHP
Http 1.1 Etag 与 Last-Modified提高php效率
Jan 10 #PHP
PHP读取目录下所有文件的代码
Jan 07 #PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 #PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 #PHP
php下过滤HTML代码的函数
Dec 10 #PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 #PHP
You might like
php 函数使用方法与函数定义方法
2010/05/09 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
解析php入库和出库
2013/06/25 PHP
PHP中each与list用法分析
2016/01/08 PHP
php app支付宝回调(异步通知)详解
2018/07/25 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
页面定时刷新(1秒刷新一次)
2013/11/22 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
node+express+jade制作简单网站指南
2014/11/26 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python编写的最短路径算法
2015/03/25 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
快速入手Python字符编码
2016/08/03 Python
numpy自动生成数组详解
2017/12/15 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Flask框架配置与调试操作示例
2018/07/23 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
基于Python实现简单学生管理系统
2020/07/24 Python
初中生评语大全
2014/04/24 职场文书
2014年大学生工作总结
2014/11/20 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
爱的教育读书笔记
2015/06/26 职场文书
讨论nginx location 顺序问题
2022/05/30 Servers