千万级数据分页查询优化
描述
- limit语句的查询时间与起始记录的位置成正比(如果要查询5000000,10 这样的数据就很慢;当然查询10,5000 也很慢)偏移量和数据量影响查询速度
- mysql的limit语句是很方便,但是对记录很多的表并不适合直接使用()
做法
要利用索引覆盖去处理,不要产生回表;
先查询第N条记录的id,然后再根据该id进行大于等于查询,limit 条数;
SELECT *
FROM t_score WHERE id >= (SELECT id
FROM t_score limit 4,1) LIMIT 10
废话短说