我必須在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