建站软件 优化软件 编程软件 网页辅助 站群程序 网站程序 图像处理 资源教程 字体下载 推荐软件


您的位置:首页 > MYSQL学习 > mysql分页提示too many open connections

mysql分页提示too many open connections

时间:2015-02-27 10:28:44  来源:免费模板网 作者:风雪 阅读次数 tagsmysql分页提示错误

网站分页一般用到limit 0 10当不停的刷页面的时候提示错误怎么解决呢

网站不停刷页面,导致mysql数据库异常发生too many open connections 。
 
引发此问题的SQL语句:
SELECT a.uid, a.veil, a.content, a.datetimes, a.audit, b.user_name, b.uc_id
FROM news_talkabout a
LEFT JOIN users_info b ON a.uid = b.id
WHERE infoid =11087
ORDER BY a.id DESC
LIMIT 451350 , 30
 
放在phpmyadmin里执行一下,是很慢。
 
SELECT a.uid, a.veil, a.content, a.datetimes, a.audit, b.user_name, b.uc_id
FROM news_talkabout a
LEFT JOIN users_info b ON a.uid = b.id
WHERE infoid =11087
ORDER BY a.id DESC
LIMIT 0 , 30
 
第一页会很快
 
PERCONA PERFORMANCE CONFERENCE 2009上,来自雅虎的几位工程师带来了一篇”EfficientPagination Using MySQL“的报告
limit10000,20的意思扫描满足条件的10020行,扔掉前面的10000行,返回最后的20行,问题就在这里。
LIMIT 451350 , 30 扫描了45万多行,怪不得慢的数据库都堵死了。
 
但是
 
limit 30 这样的语句仅仅扫描30行。
 
那么如果我们之前记录了最大ID,就可以在这里做文章
 
举个例子
 
日常分页SQL语句
select id,name,content from users order by id asc limit 100000,20
扫描100020行
 
如果记录了上次的最大ID
select id,name,content from users where id>100073 order by id asc limit 20
扫描20行。

本文地址:https://www.freemoban.com/mysql/2015/0227/733.html

猜你喜欢
栏目推荐
模板推荐

Copyright:www.freemoban.com 免费模板网 All Rights Reserved 网站备案:辽ICP备19014872号-2   辽公网安备 21010602000376号  辽公网安备:42900402000182号

免责声明:本站部分资源来自互联网收集,版权归原创者所有,如果侵犯了你的权益,我们会及时删除侵权内容,联系QQ:1615187561 谢谢合作!