关于处理数据分页查询用最后一个id还是用offset

发布时间 2023-09-25 15:33:43作者: 六块腹肌的程序员

批量处理数据 经常用到分页查询,两个形式第一种

1 select * from table where name = 'name' order by id desc  offset 0 limit 10

2 select * from table where name = 'name' and id < lastId order by id desc limit 10

当需要id 或者时间倒序查询时候。并且没有数据的截止点的时候 也就是 数据一直再产生,这时候用方法1会有一种问题 新数据进来,导致offset发生了变化,大概率2次相近查询查询到相同数据

还有一点 当查询数据很大的时候 where条件很多。offset的100000000的性能很差。 用id会好一些