mysql查询优化limit ——小记
博客专区 > noct1 的博客 > 博客详情
mysql查询优化limit ——小记
noct1 发表于5个月前
mysql查询优化limit ——小记
  • 发表于 5个月前
  • 阅读 3
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

如下2个SQL语句 执行时间对比:

SELECT a.* from usertb a INNER JOIN (SELECT id from usertb ORDER BY uname limit 1000000,10) b WHERE a.id = b.id;  

用时 77秒;

SELECT usertb.id,usertb.uname from usertb ORDER BY uname limit 1000000,10;

用时 109秒;

 

差距蛮大的,主要用到了 "延时关联" 技术 ;

 

针对limit 优化有很多种方式,
1 前端加缓存,减少落到库的查询操作
2 优化SQL
3 使用书签方式 ,记录上次查询最新/大的id值,向后追溯 M行记录。
4 使用Sphinx 搜索优化。
对于第二种方式 我们推荐使用"延迟关联"的方法来优化排序操作,何谓"延迟关联" :通过使用覆盖索引查询返回需要的主键,再根据主键关联原表获得需要的数据。

共有 人打赏支持
粉丝 0
博文 6
码字总数 2915
×
noct1
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: