首页 > 数据库技术 > 详细

mysql limit性能问题

时间:2020-01-30 14:54:29      阅读:75      评论:0      收藏:0      [点我收藏+]

我们通常使用limit进行分页查询

select * from table_name where val=4 order by id limit 100,10;

当偏移量很大时,会遇到性能问题

select * from table_name where val=4 order by id limit 1000000,10

原因:上述语句查出了1000000条数据,然后丢弃掉999990条,做了很多无用功

解决办法:使用子查询

select * from table_name a inner join (select id from table_name where val=4 order by id limit 1000000,10) b on a.id=b.id

以上改写能够提高效率的原因是先查出满足条件的10个id(主键),再回表去查这10个id对应的行记录

mysql limit性能问题

原文:https://www.cnblogs.com/zzliu/p/12242686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!