在postgres中使用uuid排序字段进行分页

问题描述 投票:0回答:1

当我在postgres中使用uuid作为主键和排序字段进行分页时,会导致查询结果重复和缺失。大约有两百万条数据

SELECT id, job_name, job_name_e FROM public.qrtz_job_details WHERE 1=1  ORDER BY id LIMIT 1000 ;
SELECT id, job_name, job_name_e FROM public.qrtz_job_details WHERE 1=1  ORDER BY id LIMIT 1000 OFFSET 1000;
SELECT id, job_name, job_name_e FROM public.qrtz_job_details WHERE 1=1  ORDER BY id LIMIT 1000 OFFSET 2000;

... 每个SQL语句都在不同的会话中执行,并使用Java多线程执行。 这里的id列存储的是uuid,是主键。 查询执行期间表中的数据没有发生变化。 我想批量查询全表,但是每次查询的结果都会有重复的数据,有的数据查不到。

期望查询数据不丢失或重复

sql database postgresql pagination
1个回答
0
投票

对不起大家,我的程序有问题,与数据库本身无关。分页排序可以使用唯一的uuid。

© www.soinside.com 2019 - 2024. All rights reserved.