3

我们目前有一个使用 UUID 作为主键的 postgresql 数据库。我们使用hibernate作为ORM工具来管理带有方言
“org.hibernate.dialect.PostgreSQLDialect”的postgresql</p>

我读过一篇文章 ( http://mysql.rjweb.org/doc.php/uuid ),如果使用“基于时间”/“版本 1”UUID,有一种方法可以提高读/写性能。为了做到这一点,我们需要重新排列 UUID 的第三部分,即以第三部分成为第一部分的方式重新排列它。然后我们得到一个随着时间的推移而增加的数字。想法是把索引放在这样的表上,这样我们可以让 IO 更快

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

我如何使用休眠生成这样的 UUID,有 5 种类型,据我所知,它们都没有生成那些基于时间的重新排列的 UUID。字段“private UUID studentId;”应该如何 看起来像 ie 应该使用哪些注释来告诉休眠生成这样的 UUID。导入 java.util.UUID;

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

0 回答 0