为了存储128位UUID,有多种存储选项:
- 字节[16]列
- 两个bigint / long(64位)列
- CHAR(36)列-32个十六进制数字+ 4个破折号。
- UUID数据库特定的列(如果数据库支持)
从索引的角度来看,哪些是最有效的?如果数据库不支持专用的uuid类型,则1,2,3中的哪一个是最佳候选者?
1
这有点“取决于”-许多实现细节。
—
克雷格·林格2014年
我从不选择3:当可以在16中完成时,永远不要以36字节存储内容。我
—
Colin't Hart 2014年
raw(16)
在Oracle和uuid
PostgreSQL中使用。
越简单越好。
—
akuzminsky 2014年
uuid
>> bytea
>> text
有CHECK
约束> varchar(36)
>> char(36)
。请参阅:dba.stackexchange.com/a/89433/3684和dba.stackexchange.com/a/115316/3684。