详细信息 您现在的位置是:首页 > 数据库
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使用的时候,数据量少的时候可以使用索引提高速度,数据量多的时候就没得索引可用了。
做数据分页的时候,order by排序有索引可用,但是被limit给耽误了。
解决:
通过where、 order by、limit的组合 代替 order by 、limit的使用
where的使用需要计算条件字段的内容范围,该条件字段有可能不是连续的或中间有跳跃。
上一篇: 多表查询时要知道的2点
下一篇: Innodb存储引擎要知道的一些信息
站点信息
- 电话:15226178738
- QQ:1697915848
- 邮箱:1697915848@qq.com