Для хранения 128-битного UUID есть несколько вариантов хранения:
- байт [16] столбец
- два столбца bigint / long (64 бит)
- столбец CHAR (36) - 32 шестнадцатеричных числа + 4 тире.
- специфичный для базы данных столбец UUID, если db поддерживает его
С точки зрения индексации, какие из них наиболее эффективны? Если БД не поддерживает выделенный тип uuid, какие из 1, 2, 3 являются лучшими кандидатами?
raw(16)
в Oracle и uuid
в PostgreSQL.
uuid
>> bytea
>> text
с CHECK
ограничением> varchar(36)
>> char(36)
. См. Dba.stackexchange.com/a/89433/3684 и dba.stackexchange.com/a/115316/3684 .