如何在PostgreSQL中对UUID进行分页?

我想以最好的方式对具有10k +寄存器的User表进行分页。我可以使用offset和limit,但是显然不如我在许多文章中看到的那样。偶然发现了键集和游标分页,尽管该键集可能更适合在API中使用,因为它更易于在API中实现(即使用golang)。问题是密钥集是如何工作的,据我所见,对id(主键)进行了索引,然后用于在整个数据库中进行查询:

select * from users where id > ? order by id limit ?

但是,这似乎仅适用于整数自动增量ID,而我使用UUID(v4)的情况并非如此。 如何实现此键集分页?

lhgfliuyang 回答:如何在PostgreSQL中对UUID进行分页?

这与UUID相同。假设id是UUID主键列,则可以编写

SELECT ... FROM ...
WHERE (order_col1,order_col2,id) > (<previous values>)
ORDER BY order_col1,id
LIMIT <page size>;

(order_col1,order_col2)上的索引可以支持此查询。

本文链接:https://www.f2er.com/3070287.html

大家都在问