基于UUID的hibernate索引时间

时间:2013-08-19 09:13:14

标签: performance hibernate time indexing uuid

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

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

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

如何使用hibernate生成这样的UUID,有5种类型,据我所知,它们都没有产生基于时间的重新排列的UUID。应该如何“私人UUID studentId”;看起来应该使用哪些注释来告诉hibernate生成这样的UUID。 import java.util.UUID;

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

0 个答案:

没有答案