limit 10000000,10查询比较慢该如何优化
id是连续的情况
- 如果id是连续的,可以直接使用这样一个方式:
select id, name from user where id > 1000000 limit 10
这种方式其实就是先对数据做过滤,然后再limit,可以有效提升查询效率。
order by + 索引
- 通过order by+索引来解决,需要注意id是索引列,通过索引排序以后再limit,同样可以减少计算次数。
select id, name from user order by id limit 1000000, 10
搜索优化查找过程
- 从业务层面来考虑,限制页数,一般情况下,用户去翻100页来查找数据。我们通常会通过搜索来优化查找过程。