我必须在Java中管理RFID标签,将它们存储到Postgresql中,我想知道什么可能是处理大数字数据的最佳方式。在PostgreSql中处理RFID的最佳方法是什么?
我的标签宽度为8字节,我没有数学可以与他们做,只是索引和面对。
这些ID在JavaFX应用程序中用作身份验证方法,并通过JSON推送到远程PostgreSQL中。 RFID本身在一些 表(主要是日志和标签管理)中被用作关键字。
我正在使用json-simple-1.1,据我所知(并纠正我,如果我错了)唯一可用的数字类型是很长 - 再次 - 会有很多bignumeric字符串反之亦然)转换。
我发现这些可能性:
- 数字(20,0)与20的长度和0精度加上的BigInteger
- 字符(16)[8字节整数的十六进制表示]也许vachar更好?
- BYTEA
后者可能是最糟糕的。 由于我需要在许多界面中显示代码,可能字符串格式更好(它可以节省我的转换工作量),但我担心在大表中使用文本主键的性能下降...
有什么建议吗?
Postgresql BigInt已签名。至于bytea,我误解了文档(http://www.postgresql.org/docs/9.3/static/datatype-binary.html#AEN5376),你是对的,不需要使用2列 – Azathoth
最简单的方法是使用简单的'数字'列没有任何限制。最有效的方法 - 'bigint'专栏。 –
说到十进制我需要20位数字,最大符号值可以用8个字节表示为0x8000 0000 0000 0000(或可能是0x7FFF FFFF FFFF FFFF)所有rfid大于该值将表示为负值。我会得到一个溢出转换更大 – Azathoth