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 相关文章推荐
Content-type 的说明
Oct 09 PHP
php mssql 分页SQL语句优化 持续影响
Apr 26 PHP
php笔记之:php数组相关函数的使用
Apr 26 PHP
PHP产生不重复随机数的5个方法总结
Nov 12 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
php使用NumberFormatter格式化货币的方法
Mar 21 PHP
php基础教程
Aug 26 PHP
PHP工程师VIM配置分享
Dec 15 PHP
php curl常用的5个经典例子
Jan 20 PHP
php数值转换时间及时间转换数值用法示例
May 18 PHP
PHP后期静态绑定之self::限制实例分析
Dec 21 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 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
linux实现php定时执行cron任务详解
2013/12/24 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
js网页版计算器的简单实现
2013/07/02 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
轻松创建nodejs服务器(4):路由
2014/12/18 NodeJs
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
AngularJS基础 ng-hide 指令用法及示例代码
2016/08/01 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
js获取一组日期中最近连续的天数
2017/05/25 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
React+EggJs实现断点续传的示例代码
2020/07/07 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
python3实现暴力穷举博客园密码
2016/06/19 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
解决python3输入的坑——input()
2020/12/05 Python
金融事务专业毕业生求职信
2014/02/23 职场文书
大学军训感言300字
2014/03/09 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
公司与个人合作协议书
2016/03/19 职场文书