譬如下面语句
select * from table where update_time >='2019-11-23' and update_time < '2019-11-25'
由于返回结果有几千条,所以想要分页
for in in (0,n) :
select * from table where update_time >='2019-11-23' and update_time < '2019-11-25' limit i*500, (i+1)*500-1
但是担心几次select结果顺序不一样导致不同分页查询之间会有交集
在所查询的数据结果集没变化的前提下,每次select的顺序是不变的吗?
另外,分页,每页大小一般设置多大为好(不是呈现在页面上,而是用来做后台计算)?
既然担心select结果顺序会变,为啥不排下序 order by 一下。
分页的大小看你业务需求,如果是页面展示一般每页20-50这样就行。
顺便说下 limit i500, (i+1)500-1 你这个分页写的有问题啊,不能这么搞,limit 后面第一个参数是起始位置,第二个参数是往后查询的条数。改成 limit (i-1)*500 , 500;