为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL limit 优化问题

MySQL limit 优化问题

GoogleBrain 2016-05-11 22:58:29
工作中碰到一个问题,一个表中大概有一亿条数据,使用mysql  的limit(开始位置,查询条数)获取部分数据的时候,当开始位置特别大,查询条数特别少的时候,查询速度特别的慢,有没有老师帮忙出出主意,解答一下。
查看完整描述

1 回答

?
随天马行空

TA贡献8条经验 获得超4个赞

其实limit方法,也是全局查找匹配的,即limit 1000,10,从1000条数据开始,取10条数据,它执行时,也会去查询1000之前的数据,除非有明确的定位,即假设主键id大于某个数,尽量过滤掉之前1000条的数据,

假设排序条件是按id升序(降序),每次都记录最后一条id值,当取1000,10时,也就记录了999条的id,取值时,可加上附加条件id>值(<值),尽量滤掉之前1000条的数据,但这种方法也只是特例,因为排序条件不可以都是按id升序(降序),得对应找能附加条件的情况

尽量对标建联合索引,语句也得满足索引需求,可能会快一些

查看完整回答
反对 回复 2016-11-22
  • 1 回答
  • 0 关注
  • 1228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信