我在我的Java应用程序中创建数据库实体,并试图在使用Integer或Long作为“id”字段的类类型之间进行合理化。我使用Hibernate作为我的ORM,反过来,它会将此字段映射到HSQLDB数据库中的列。
我的奋斗是这样的:Long显然更大并且将处理更多的条目 - 但是,在非常低的级别,我知道在过去(32位系统)OS级别读取将是32位宽。 IE:朗读需要两遍......这是正确的想法吗?
如果今天使用Long,我的HSQLDB查询运行速度会比使用整数运行速度慢吗?
IE:HSQLDB是否必须以某种方式使用多个读取通道...或使用更大的内部结构......或者附加两个整数大小的列...或者其他明显不理想的东西?或者,它在某种程度上是今天的64位处理的一个有争议的问题 - 它应该处理Long in one read(Long是64位)?
答案 0 :(得分:3)
使用Long。即使使用内存数据库,相对于应用程序的其余部分,性能影响也很可能不会很大。然而,如果您开始耗尽标识符,那么回过头来更改应用程序将是一个令人难以置信的麻烦。