大数据量分页的优化
数据量越来越大, 分页是越来越慢, 怎么搞呢? 一般都是这样的
SELECT * FROM table ORDER BY id LIMIT 9000000,10;
充分利用 id 索引的方法, 前提是知道 id 有哪些
SELECT * FROM table WHERE id in (1000000, 1000001);
如果不知道 id, 可以找到当前页最大的 id, 只 select id
SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 9000000, 1) LIMIT 10;
但是如果 分页 用其他的条件检索和排序呢?
SELECT id FROM table WHERE cond=1 order by id limit 9000000, 1
这就需要建立一个符合索引, 然后再取出 id, 在 查询出 指定的 区间