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 相关文章推荐
将RTF格式的文件转成HTML并在网页中显示的代码
Oct 09 PHP
phpmyadmin 常用选项设置详解版
Mar 07 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php采用ajax数据提交post与post常见方法总结
Nov 10 PHP
php实现用已经过去多长时间的方式显示时间
Jun 05 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
Sep 30 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
PHP扩展Swoole实现实时异步任务队列示例
Apr 13 PHP
PHP获取远程http或ftp文件的md5值的方法
Apr 15 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-fpm 参数的深入理解
2013/06/03 PHP
PHP 获取远程文件大小的3种解决方法
2013/07/11 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
2019/07/01 PHP
告诉大家什么是JSON
2008/06/10 Javascript
javascript 简练的几个函数
2009/08/29 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
jquery Ajax实现Select动态添加数据
2017/06/08 jQuery
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
详解Vue2 添加对scss的支持
2019/01/02 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
Node.js开发之套接字(socket)编程入门示例
2019/11/05 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
Javascript实现打鼓效果
2021/01/29 Javascript
[55:56]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Python编程求质数实例代码
2018/01/31 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
新加坡领先的时尚生活方式零售品牌:CHARLES & KEITH
2018/01/16 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
电话销售经理岗位职责
2013/12/07 职场文书
师说教学反思
2014/02/07 职场文书
运动会入场词50字
2014/02/20 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
党员干部学习心得体会
2016/01/23 职场文书