为了存储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和uuidPostgreSQL中使用。
越简单越好。
—
akuzminsky 2014年
uuid>> bytea>> text有CHECK约束> varchar(36)>> char(36)。请参阅:dba.stackexchange.com/a/89433/3684和dba.stackexchange.com/a/115316/3684。