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性能的一些方法
Mar 24 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
Dec 08 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
php环境无法上传文件的解决方法
Apr 30 PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 PHP
使用图灵api创建微信聊天机器人
Jul 23 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
php+flash+jQuery多图片上传源码分享
Jul 27 PHP
yii2 开发api接口时优雅的处理全局异常的方法
May 14 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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 foreach、while性能比较
2009/10/15 PHP
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php中in_array函数用法探究
2014/11/25 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
JQuery 写的个性导航菜单
2009/12/24 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
javaScript中两个等于号和三个等于号之间的区别介绍
2014/06/27 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
详解layui中的树形关于取值传值问题
2018/01/16 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
[13:38]2015国际邀请赛中国战队出征仪式
2015/05/29 DOTA
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
Python的字典和列表的使用中一些需要注意的地方
2015/04/24 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
公司授权委托书范文
2014/08/02 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
服务明星事迹材料
2014/12/29 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python
Java实战之用Swing实现通讯录管理系统
2021/06/13 Java/Android
MongoDB orm框架的注意事项及简单使用
2021/06/20 MongoDB
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js