前提介绍
为何分页查询在测试环境没事,在生产上几千万的数据就出现了问题
在平时开发时,由于数据量没有那么大,所以测试有时候会不到位,比如用到的分页查询,使用不规范时,数据量越大,查询越慢,而且有
长时间进程不结束...,会导致内存不足等风险
传统分页查询:SELECT c1,c2,cn… FROM table LIMIT n,m
MySQL的limit工作原理就是先读取前面n条记录,然后抛弃前n条,读后面m条想要的,...因为要取出所有字段内容,这种需要跨越大量数据块并取出
推荐分页查询方法
通过直接根据索引字段定位后,才取出相应内容,效率自然大大提升。...1、尽量给出查询的大致范围
SELECT c1,c2,cn… FROM table WHERE id>=20000 LIMIT 10;
2、子查询法
SELECT c1,c2,cn… FROM table...id from product limit 866613, 20) b ON a.ID = b.id
3、高性能MySQL一书中提到的只读索引方法
优化前SQL:
SELECT c1,c2,cn… FROM