Mysql 大分页优化

栏目: 数据库 · Mysql · 发布时间: 7年前

内容简介:看到数据库报警,查看慢 sql 日志看到执行了 90 秒,扫描了 1329172 行。先解决大分页的问题(

看到数据库报警,查看慢 sql 日志看到

select id, content from zixun_article where status = 1 order by id asc limit 1328000, 1000

执行了 90 秒,扫描了 1329172 行。

两个问题

  • 大分页问题
  • 索引问题

先解决大分页的问题( 这个经验是高级数据库专家之前分享的 )修改后

select a2.id, a2.content from (select id from zixun_article where status = 1 order by id asc limit 1309000, 1000) a1, zixun_article a2 where a1.id=a2.id;

我看到 status 上是没有索引的,所以直接改成

select a2.id, a2.content,a2.status from (select id from zixun_article order by id asc limit 1309000, 1000) a1, zixun_article a2 where a1.id=a2.id;

然后再到业务代码里面去根据 status 去做筛选。

总结

这种数据量很大的表,应该是先做一个子查询查出 id(只会在索引里面扫描),然后关联查询,这样扫描的行数是限定的。而不会扫描表前面所有的行。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

互联网金融手册

互联网金融手册

谢平、邹传伟、刘海二 / 中国人民大学出版社 / 2014-4-1 / 68.00元

本书作者在2012年4月7日“金融四十人年会”上首次公开提出了“互联网金融”概念。在短短两年中,互联网金融已经成为中国金融界和IT界最热门的词汇之一,相关创业活动也非常活跃。本书是作者两年来深入研究、思考的结晶,畅想了金融与IT结合的未来图景,将理论与实践高度融合,与读者分享了许多深具洞察力的观点。本书力图规范互联网金融的定义,完善互联网金融的理论体系,分析互联网金融目前的六种主要类型——金融互联......一起来看看 《互联网金融手册》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具