软件 聊天 安全 视频 浏览器 下载 系统 办公 教学 输入法
免费 域名 空间 相册 邮箱 资源 网赚 试用 优惠 工具
教程 设计 三维 学院 办公 网页
素材 PSD 矢量 网页 PPT 动画
美女 唯美 大生活 美图 风景 时尚艺
资讯 新闻 专题 热点
您的位置: 广信之家 > 网络学院 > 建站资讯 > 文章正文

优化MySql limit处理大数据量分页方法与实例详解

时间:10-26 12:16 来源:广信之家 整理:广信小编 我要评论(0)
字号:T|T
内容提要:
  广信之家就本文中给大家带来优化MySql limit处理大数据量分页方法与实例详解,帮助朋友们参考学习mysql查询中的limit语句在处理大数量所分页时的优化方法。Mysql的limit给分页带来了很大方便,但数据量一大时,limit的性能就急剧下降。

广信之家就本文中给大家带来优化MySql limit处理大数据量分页方法与实例详解,帮助朋友们参考学习mysql查询中的limit语句在处理大数量所分页时的优化方法。

Mysql的limit给分页带来了很大方便,但数据量一大时,limit的性能就急剧下降。
例如,取10条数据:

select * from yanxue8_visit limit 10000,10
select * from yanxue8_visit limit 0,10

这二个sql语句在执行性能上,绝不是一个数量级别的。

关于mysql limit的优化,这里贴出一段文字:
对limit的优化,不是直接使用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越大,后者越优。
以后再写limit语句时要注意了,好好优化下Mysql。
 
据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用text, id
是逐渐,vtype是tinyint,vtype是索引。

这是一个基本的新闻系统的简单模型。
现在往里面填充数据,填充10万篇新闻。
最后collect 为 10万条记录,数据库教程表占用硬盘1.6G。OK ,看下面这条sql语句:
select id,title from collect limit 1000,10; 很快;基本上0.01秒就OK。

再来看这条语句:

select id,title from collect limit 90000,10;

从9万条开始分页,结果8-9秒完成,性能严重的差啊。

可以这样优化:

select id from collect order by id limit 90000,10; 很快,0.04秒就OK。

使用id主键做索引,速度没得说。

改进后的方法:

select id,title from collect where id>=(select id from collect order by id limit 90000,1) limit 10; 

 
这条语句依然是用了id做索引的结果。

 

希望通过本文的实例详解,能帮助朋友们进一步的了解mysql的limit语句在处理大数量的高效率。

    相关阅读:

    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    免责申明:以上内容仅代表原创者观点,其内容未经本站证实,优化MySql limit处理大数据量分页方法与实例详解对以上内容的真实性、完整性不作任何保证或承诺,转载目的在于传递更多信息,由此产生的后果与优化MySql limit处理大数据量分页方法与实例详解无关;如以上转载内容不慎侵犯了您的权益,请联系我们将会及时处理。
    [责任编辑:广信小编]

    精彩图文

    登录 (请登录发言,并遵守 相关规定)
    如果你对广信之家有任何意见或建议,请到交流平台反馈。到留言板反馈