我应该在新的应用程序中使用Postgres的bigserial记录吗?

问题描述 投票:4回答:2

我正在开发一个新的应用程序,它的数据存储在PostgreSQL数据库中。数据的种类包括一些测量设备的仪表记录。每个客户可能会有成百上千个这样的设备,而且通常每天提供的记录都很少。新的记录只需删除旧的记录,就可以替换旧的记录,并以新的ID插入到新的记录中。我的公司不知道的是,有多少客户,每天需要存储多少测量设备和记录。

由于这是一个新的应用,我想请教一下您关于使用 serial 与。bigserial 作为仪表记录的ID。在目前的x64 CPU上有没有明显的性能降级之类的?ID字段的存储量应该增加2倍吧?有什么明显的理由不使用 bigserial?

谢谢!我正在做一个新的应用程序,它的数据存储在PostgreSQL数据库中。

java sql postgresql sqldatatypes
2个回答
3
投票

就性能而言,PostgreSQL是没有区别的--假设PostgreSQL已经正确编译以利用x86_64平台。例如,添加两个32位的ints和添加64位的ints需要同样的时间。然而,如果它是为普通的x86(32位)编译的,那么在性能上会有一些(边际?)下降,因为它需要用32位寄存器来模拟64位算术。

一言以蔽之:确保你使用64位版本的PostgreSQL,你就可以了。


3
投票

没有明显的性能问题 bigserial 数据类型作为一个表的序列和主键。详情请阅读 文件旧题.

另外:如果你有10000台设备,每台设备每天产生10条记录,整数就够用60年了,所以我认为整数就够了;-)

© www.soinside.com 2019 - 2024. All rights reserved.