4

我正在我的 Java 应用程序中创建数据库实体,并尝试在使用 Integer 或 Long 作为“id”字段的类类型之间进行合理化。我使用 Hibernate 作为我的 ORM,反过来,它将将此字段映射到 HSQLDB 数据库中的列。

我的斗争是这样的:一个 Long 显然更大并且将处理更多的条目 - 但是,在非常低的级别上,我知道过去(32 位系统)操作系统级别的读取将是 32 位宽。IE:长读需要两遍……这是正确的想法吗?

如果我今天使用 Long,我的 HSQLDB 查询会比我使用 Integer 运行得慢吗?

IE:HSQLDB 是否必须以某种方式使用多个读取通道……或者使用更大的内部结构……或者附加两个整数大小的列……或者其他明显不理想的东西?或者,今天的 64 位处理在某种程度上是一个有争议的问题 - 应该在一次读取中处理 Long(Long 是 64 位)?

4

1 回答 1

3

使用长。即使使用内存数据库,相对于应用程序的其余部分,性能影响也很可能不会显着。但是,如果您开始用完标识符,稍后再返回并更改应用程序将是一个令人难以置信的麻烦。

于 2009-04-01T15:29:01.597 回答