详细信息 您现在的位置是:首页 > 数据库

mysql优化之limit优化

来源: 发布时间:2020-03-10 1649 人已围观

摘要数据库中经常使用limit进行分页操作。limit 偏移量,长度;偏移量=(page-1)*长度

数据库中经常使用limit进行分页操作。

limit  偏移量,长度;

偏移量=(page-1)*长度


在数据比较多的时候,会在成查询速度缓慢的情况发生。

并且索引也不会针对limit起作用。


每页显示10条信息做数据查询:

limit  0,10       //第1页

limit  10,10       //第2页

limit  20,10       //第3页

limit  990,10//第100页

limit  9990,10//第1000页

limit  99990,10//第10000页

limit  999990,10//第10,0000页

limit  9999990,10//第100,0000页


limit做数据分页的时候,虽然也有order by根据索引字段做排序,数据量少的时候还有索引可用,数据量多的时候就没有索引用了,原因是 limit每次操作的时候把偏移量之内的全部记录都给获得出来,然后“跨”过去,获得最后长度限制内的记录信息。

因此limit使用的时候,数据量少的时候可以使用索引提高速度,数据量多的时候就没得索引可用了。

51.jpg


做数据分页的时候,order by排序有索引可用,但是被limit给耽误了。

解决:

通过where、 order by、limit的组合 代替 order by 、limit的使用

where的使用需要计算条件字段的内容范围,该条件字段有可能不是连续的或中间有跳跃。


52.jpg



站点信息

  • 电话:15226178738
  • QQ:1697915848
  • 邮箱:1697915848@qq.com