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 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
基于mysql的论坛(6)
Oct 09 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
初学PHP的朋友 经常问的一些问题。不断更新
Aug 11 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
本地计算机无法启动Apache故障处理
Aug 08 PHP
php正则preg_replace_callback函数用法实例
Jun 01 PHP
php实现图片上传并利用ImageMagick生成缩略图
Mar 14 PHP
PHP实现链表的定义与反转功能示例
Jun 09 PHP
PHP hex2bin()函数用法讲解
Feb 25 PHP
Laravel框架控制器的request与response用法示例
Sep 30 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中array_merge与array+array的区别
2013/06/21 PHP
php读取mysql的简单实例
2014/01/15 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
JavaScript 创建对象和构造类实现代码
2009/07/30 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
Javascript 面向对象 命名空间
2010/05/13 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
网页防止tab键的使用快速解决方法
2013/11/07 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
IE浏览器不支持getElementsByClassName的解决方法
2014/08/27 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
JS实现吸顶特效
2020/01/08 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Scrapy框架使用的基本知识
2018/10/21 Python
python实现字符串加密成纯数字
2019/03/19 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
销售岗位职责范本
2014/06/12 职场文书
品牌转让协议书
2014/08/20 职场文书
工作疏忽、懈怠的检讨书
2014/09/11 职场文书
新员工考核评语
2014/12/31 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
python munch库的使用解析
2021/05/25 Python