首页 / 数据库 / MySQL / Advanced Pagination for MySQL(mysql高级分页)
在叶子的文章里谈到了使用inner join 从而减少了对page的扫描也就是减少了所谓的回表 例如: 复制代码 代码如下: SELECT * FROM `t1` INNER JOIN ( SELECT id FROM `t1`ORDER BY id DESC LIMIT 935500,10) t2 USING (id)
复制代码 代码如下: $page_size=100 select * from t where id > 99 order by id asc limit $page_size ; select * from t where id >199 order by id asc limit $page_size;
复制代码 代码如下: select * from t order by column1 desc, id desc limit 10 -- 第一个页 select * from t where column1 <=minvalue_col1 and (id < minvalue_id or column1 < minvalue_col1) limit 10 ---第二个页
复制代码 代码如下: SELECT m2.* FROM t m1, t m2 WHERE m1.id = m2.id AND m1.column1 <= minvalue_col1 AND (m1.id < minvalue_id OR m1.column1 < minvalue_col1) ORDER BY m1.column1 DESC, m1.id DESC LIMIT 10;