mysql 在起始页比较小的时候,性能没有问题。但是当页数比较大的时候,特别是页数达到万级别时,查询时间也会达到秒级别。
最近看到一篇文章,采用的方法是利用覆盖索引,效果很不错。具体如下:
// 查询起始页为800000,行数为20的结果。
SELECT * FROM product WHERE ID > =(select id from product limit 800000, 1) limit 20
另一种写法
SELECT * FROM product a JOIN (select id from product limit 800000, 20) b ON a.ID = b.id