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数据库需要注意的安全知识
Jul 30 PHP
smarty中先strip_tags过滤html标签后truncate截取文章运用
Oct 25 PHP
PHP中的strtr函数使用介绍(str_replace)
Oct 20 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
PHP实现补齐关闭的HTML标签
Mar 22 PHP
ThinkPHP路由机制简介
Mar 23 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
php UNIX时间戳用法详解
Feb 16 PHP
php新建文件的方法实例
Sep 26 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
js Function类型
2011/12/04 Javascript
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
深入理解JS中的变量及作用域、undefined与null
2014/03/04 Javascript
jquery图片轮播插件仿支付宝2013版全屏图片幻灯片
2014/04/03 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
基于javascript显示当前时间以及倒计时功能
2016/03/18 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
angular或者js怎么确定选中ul中的哪几个li
2017/08/16 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
Vue中的字符串模板的使用
2018/05/17 Javascript
ES6 中可以提升幸福度的小功能
2018/08/06 Javascript
浅谈Vue数据响应思路之数组
2018/11/06 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
Python3.5以上版本lxml导入etree报错的解决方案
2019/06/26 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
浅谈Python 函数式编程
2020/06/20 Python
印度领先的在线时尚商店:Koovs
2016/08/28 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
义和团口号
2014/06/17 职场文书
先进党支部事迹材料
2014/12/24 职场文书
老乡聚会通知
2015/04/23 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
教你用Python爬取英雄联盟皮肤原画
2021/06/13 Python