我有一个大的十六进制(16字节,32个十六进制数字)数据项,始终具有以下格式:
这是从我的资源以ASCII字符串的形式传入的(即,上面的零是字符零0x30,而不是0x00),我想知道人们对在PostgreSQL中存储它的最佳方法(关于存储和速度)的意见。
显然的方法是将其存储为varchar,但将其以二进制形式存储肯定会节省空间。如果以二进制形式存储,我会从选择和插入中获得性能提升吗?bytea还是bit更好?这两者在内部表示方面有什么区别?
另一个想法是将其存储为两个bigint/int8或四个integer/int4,拆分成多个列。
由于我有很多这些(超过一万亿),所以空间和时间都是问题。
00d980113901429fa6de7fb7e2da705a
这是从我的资源以ASCII字符串的形式传入的(即,上面的零是字符零0x30,而不是0x00),我想知道人们对在PostgreSQL中存储它的最佳方法(关于存储和速度)的意见。
显然的方法是将其存储为varchar,但将其以二进制形式存储肯定会节省空间。如果以二进制形式存储,我会从选择和插入中获得性能提升吗?bytea还是bit更好?这两者在内部表示方面有什么区别?
另一个想法是将其存储为两个bigint/int8或四个integer/int4,拆分成多个列。
由于我有很多这些(超过一万亿),所以空间和时间都是问题。