当我在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,是主键。 查询执行期间表中的数据没有发生变化。 我想批量查询全表,但是每次查询的结果都会有重复的数据,有的数据查不到。
期望查询数据不丢失或重复
对不起大家,我的程序有问题,与数据库本身无关。分页排序可以使用唯一的uuid。