Мне нужно управлять метками RFID в java, храня их в Postgresql, и мне интересно, что может быть лучшим способом обработки больших числовых данных.Лучший способ обработки RFID в PostgreSql?
Мои теги шириной 8байт, и у меня нет математики, чтобы делать с ними, просто индексируя и сталкиваясь.
Эти идентификаторы используются в приложении JavaFX как метод аутентификации и помещаются в удаленный PostgreSQL через JSON. Сама RFID используется как ключ в некоторых таблицах (в основном, для управления журналами и тегами).
Я использую json-simple-1.1, и насколько я знаю (и исправьте меня, если я ошибаюсь), единственный доступный числовой тип длинный, так что - снова - будет много бигнориальных строк (и наоборот).
Я нашел эти возможности:
- числовой (20,0) с длиной 20 и 0 в сочетании с точностью BigInteger
- характер (16) [гекс представление 8byte целого] может быть, вачар лучше?
- BYTEA
Последнее, вероятно, самое худшее. Так как мне нужно отображать код во многих интерфейсах, возможно, формат строки лучше (это сэкономит мне силы на преобразование), но я беспокоюсь о том, что падение производительности должно иметь текстовый первичный ключ в большой таблице ...
Любое предложение?
Postgresql BigInt подписан. Что касается bytea, я неправильно понял документы (http://www.postgresql.org/docs/9.3/static/datatype-binary.html#AEN5376), вы правы, нет необходимости использовать 2 столбца – Azathoth
Самый простой способ - использовать простой столбец 'numeric' без каких-либо ограничений. Самый эффективный способ - столбец «bigint». –
Говоря о десятичном значении, мне нужно 20 цифр, максимальное знаковое значение, представляемое с 8 байтами, - 0x8000 0000 0000 0000 (или, может быть, 0x7FFF FFFF FFFF FFFF), все rfid больше, чем это будет представлено как отрицательное. Я получу конверсию переполнения, более крупную – Azathoth