java-用于UUID作为JPA ID的最佳(最有效)数据类型

我想将UU​​ID用作JPA对象的ID.

我目前仅使用字符串来存储UUID.有什么会更有效的?

解决方法:

您如何衡量效率?

例如,将UUID(字节[]的文本编码)存储为几个长值将使您能够在64位体系结构上非常快速地比较它们(比字符串比较快得多,字符串比较是字符-按字符).但是,由于必须编写自定义类型,因此编码效率会受到影响.

在您的情况下重要的是什么?

如果您对数据库内的性能感兴趣,那么性能将在一定程度上取决于您选择的数据库,但是所有这些本质上都会逐字节比较UUID.因此,重要的是使键之间的差异更有可能接近键的开头.

UUID在这方面经过了精心设计.最好的UUID是“随机”样式.它们在任何地方都没有很多常见的子字符串,包括开头,并且它们不会泄漏有关生成它们的机器的信息.但是,UUID的“时间戳”样式也是一个很好的关键,因为低位(快速变化)在字符串中排在首位,而高位(对于连续的UUID不变)后来.

上一篇:将Java UUID对象转换为.NET GUID字符串


下一篇:关于Int自增字段和GUID字段的性能测试。只有测试,没有分析,呵呵