mysql limit查询优化
转载MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。
同样是取10条数据
select * from yanxue8_visit limit 10000,10
select * from yanxue8_visit limit 0,10
1、offset比较小的时候。
select * from yanxue8_visit limit 10,10
多次运行,时间保持在0.0004-0.0005之间
Select * From yanxue8_visit Where vid >=(Select vid From yanxue8_visit Order By vid limit 10,1) limit 10
多次运行,时间保持在0.0005-0.0006之间,主要是0.0006
结论:偏移offset较小的时候,直接使用limit较优。这个显然是子查询的原因
2、offset大的时候。
select * from yanxue8_visit limit 10000,10
多次运行,时间保持在0.0187左右
Select * From yanxue8_visit Where vid >=(Select vid From yanxue8_visit Order By vid limit 10000,1) limit 10
多次运行,时间保持在0.0061左右,只有前者的1/3。可以预计offset越大,后者越优。
以后要注意改正自己的limit语句,优化一下MySQL了
下一篇:那些疯狂的 Web 应用开源项目
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
limit优化
limit优化limit 100000,20的意思是扫描满足条件的100020行,扔掉前面的100000行,符合条件的i...
limit优化 limit mysql 偏移量 当前页