UUID用于外键。
- 论坛
- UUID用于外键。
7 浏览
匿名的
0 Comments
UUID for foreign keys这个问题的出现的原因是为了在各个系统中生成标识符,而无需与中央机构进行协调,并且用于在系统之间共享数据记录,如联合数据库,而不会发生冲突的风险。
UUID实际上是一个128位的值,不要将其与通常用于人类显示的36个字符的十六进制字符串混淆。
对于支持UUID作为数据类型的数据库(如Postgres),使用UUID数据类型的键将使用64位整数序列号的两倍的内存和存储空间,或者是32位整数(40亿范围)的四倍,这是通常用作替代键的其他选择。对于每个数据库设计师来说,这是否“很多”是一个判断性的问题。考虑到现代计算硬件中内存和存储空间的廉价和易得性,我通常认为使用UUID的好处是值得额外的内存/存储空间的。
如果您需要一个全局唯一标识符,请使用Universally Unique ID (UUID),没有必要自己发明。
解决方法是使用UUID作为外键的数据类型,确保在不同系统之间生成的标识符是唯一的,并且不会发生冲突。