时间:2021-07-01 10:21:17 帮助过:16人阅读
一般分页是这么设计的:
第1页 每页20条
select * from user limit 0 20;
第2页 每页20条
select * from user limit 20 20;
第3页 每页20条
select * from user limit 40 20;
这就造成了数据量一大,查询低效的问题,数据库容易崩溃。
基本原理是这样的:
liimit 100,20的意思是扫描满足条件的120行,扔掉前面的100行,返回最后的20行,如果是limit 100000,100,需要扫描100100行,再返回最后的100行,在一个高并发的应用里,每次查询需要扫描超过10W行,性能肯定大打折扣。
多加入一个where条件
user表里面有个primary key ID
每页显示20条,当前页第5页,当前页面上id最大值为