详细讲解 mysql 大数据分页 sql 优化
分页程序原理很简单,这里就不多说了,本篇文章主要说的是在数据表记录量比较大的情
况下,如何将分页 做到更优化,让 执行的更快的方法。
一般的情况下,我们的分页 语句是这样的:
查看代码打印
以上 语句在原理上和在实际操作中是不会存在什么问题,但是当 表的数据量达到几
十万以上的时候,上面的语句执行一遍,可能会要执行个十几秒的时间,并且当页数越靠后的
话,执行的时间会越长,这个时候我们就需要找到一种更快的查询办法来替代这种操作了。
网上已经有很多优化的方法,基本都是这样的:
查看代码打印 !
"
以上 语句是一个不错的解决方法,分页查询的速度基本会保持在 秒之内,但据经验总结
得出还有一种更好的办法,如下:
查看代码打印 #$#
相比以上的解决办法,在速度上还会快了不少。
另外分享两个关于查询的技巧:
()如果需要查询 不是连续的一段,最佳的做法就是先找出 ,然后用 %查询:
查看代码打印 #!
&&&"
(')当查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如存储网址的字
段,在需要查询该字段的时候,不要直接查询字符串,效率低下,应该查诡该字串的 ()(*' 或
+, 值。
如何优化 -. 千万级快速分页,以下摘抄与网上,读者自行参考。
.性能到底能有多高?用了 /0/ 半年多,真正如此深入的去思考这个问题还是从前
天开始。有过痛苦有过绝望,到现在充满信心!.这个数据库绝对是适合 级的高手
去玩的,一般做一点 万篇新闻的小型系统怎么写都可以,用 11 框架可以实现快速开发。可
是数据量到了 万,百万至千万,他的性能还能那么高吗?一点小小的失误,可能造成整个
系统的改写,甚至更本系统无法正常运行!好了,不那么多废话了。用事实说话,看例子:
数据表 (2(!%324/"就这 5 个字段,其中 用定长,%32用 1
是逐渐,4/ 是 %%,4/ 是索引。这是一个基本的新闻系统的简单模型。现在往
里面填充数据,填充 万篇新闻。最后 (2(为 万条记录,数据库表占用硬盘
&67。8看下面这条 -. 语句:
-(3)2+(2(+很快;基本上 & 秒就 8,再看下面的
-(3)2+(2(+9从 9 万条开始分页,结果?
:;9 秒完成,+<2哪出问题了?其实要优化这条数据,网上找得到答案。看下面一条
语句=
评论2