Performance hibernate索引基于时间的UUID

Performance hibernate索引基于时间的UUID,performance,hibernate,time,indexing,uuid,Performance,Hibernate,Time,Indexing,Uuid,我们目前有一个使用UUID作为主键的postgresql数据库。我们使用hibernate作为ORM工具,以便使用方言管理postgresql “org.hibernate.dialogue.PostgreSqlDialogue” 我读过一篇文章()说,如果使用“基于时间的”/“版本1”UUID,有一种方法可以提高读/写性能。为了做到这一点,我们需要重新安排UUID的第三部分,即重新安排,使第三部分成为第一部分。然后我们得到一个数字,随着时间的推移,这个数字会很好地增加。我们的想法是将索引放在这

我们目前有一个使用UUID作为主键的postgresql数据库。我们使用hibernate作为ORM工具,以便使用方言管理postgresql
“org.hibernate.dialogue.PostgreSqlDialogue”

我读过一篇文章()说,如果使用“基于时间的”/“版本1”UUID,有一种方法可以提高读/写性能。为了做到这一点,我们需要重新安排UUID的第三部分,即重新安排,使第三部分成为第一部分。然后我们得到一个数字,随着时间的推移,这个数字会很好地增加。我们的想法是将索引放在这样的表上,这样我们可以使IO更快

现在的问题是:有没有人尝试过在一个有数亿行的表中使用它,如果是这样的话,这个更改是否有意义。我的意思是UUID是一个今天还没有被发现的想法,我打赌到目前为止还没有被发现是有原因的

我如何使用hibernate生成这样的UUID,有5种类型,据我所知,它们都不会生成基于时间的重新排列的UUID。字段“private UUID studentId;”应该是什么样子的,即应该使用哪些注释来告诉hibernate生成这样的UUID。 导入java.util.UUID

@Id 
@Index
@Column(name="STUNDENT_ID")
@NotNull
private UUID studentId;