limit优化

 

一个常见又非常头疼的问题就是limit 2000000,10。此时需要MySQL排序前2000010记录,仅仅返回2000000(不包含)~2000010(包含)的记录,其他 记录丢弃,查询排序的代价非常大

 

解决:覆盖索引+子查询的方式来优化

 

优化思路:一般分页查询时,通过创建覆盖索引能够比较好地提高性能,可以通过覆盖索引加子查询的方式进行优化

 

例如如下

 

查询速度大概能缩短一半时间