百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql limit 优化分页查询
分享文章到:

mysql limit 优化分页查询

发布时间:01/15 来源: 浏览: 关键词:
limit优化我们分享了非常多的方法,但是看到文章操作方法都一相,下面我介绍的主要是子查询优化方法了,希望例子对各位有帮助。


最近做的一个网站谷歌站长工具提示sitemap访问超时,这是为毛原因呢?之前不是好好的么?进入mysql发现某个进程等待时间比较长,进一步发现原来是这样分页的mysql语句,因为文章比较多,而且是直接生成xml文件,全部笼统第调出所有文章aid,然后由php组和生成sitemap,我的分页mysql,类似如下:

select id,title from collect limit 1000,10; 很快;基本上0.01秒就OK

select id,title from collect limit 90000,10; 从9万条开始分页,结果?

select aid from articles order by aid limit 80000,4000

当然,前面几页数据还挺快的,上了一二十页后,等待的时间特别长。


最终优化如下:

select aid from  articles  where aid >=(select aid from articles order by aid limit 80000,1) order by  aid desc limit 4000

这样一来,效率瞬间提高。有木有?必须得有阿。

最后做个小总结:直接用limit分页查询,在数据量较小的情况下那是相当给力,随着翻页到后面,效率瞬间下降,于是用上面第二句可解决问题。此两句结合使用,将是天下无双了吧。

补充:子查询用了join来优化

select id , login_name , password from user join (select id from user order by login_name limit 200000 , 10) as user2 using(id);
用了0.5x秒

explain 上述

三次查询

1,using index 的limit
2,没看懂,可能是join的过程
3, 主键in查询 10条,飞快

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板