1、未优化
select * from product limit 10, 20 0.016秒 select * from product limit 100, 20 0.016秒 select * from product limit 1000, 20 0.047秒 select * from product limit 10000, 20 0.094秒 //我们已经看出随着起始记录的增加,时间也随着增大, 这说明分页语句limit跟起始页码是有很大关系的,那么我们把起始记录改为40w看下(也就是记录的一般左右) select * from product limit 400000, 20 3.229秒 //再看我们取最后一页记录的时间 select * from product limit 866613, 20 37.44秒 //像这种分页最大的页码页显然这种时间是无法忍受的。
2、优化
//这次我们之间查询最后一页的数据(利用覆盖索引,只包含id列),如下: select id from product limit 866613, 20 0.2秒 //相对于查询了所有列的37.44秒,提升了大概100多倍的速度 //那么如果我们也要查询所有列,有两种方法, //一种是id>=的形式, //另一种就是利用join,看下实际情况: SELECt * FROM product WHERe ID > =(select id from product limit 866613, 1) limit 20 //查询时间为0.2秒! //另一种写法 SELECt * FROM product a JOIN (select id from product limit 866613, 20) b ON a.ID = b.id //查询时间也很短!



