我过go 在许多数据库系统上工作过,如果所有数据库键都是GUID / UUID个值,那么在数据库之间移动条目会容易得多.我已经考虑过几次走这条路,但总是有一些不确定性,特别是关于性能和无法通过电话读取的URL.
有人在数据库中广泛使用过GUID吗?我走那条路会有什么好处,可能的trap 是什么?
我过go 在许多数据库系统上工作过,如果所有数据库键都是GUID / UUID个值,那么在数据库之间移动条目会容易得多.我已经考虑过几次走这条路,但总是有一些不确定性,特别是关于性能和无法通过电话读取的URL.
有人在数据库中广泛使用过GUID吗?我走那条路会有什么好处,可能的trap 是什么?
优势:
缺点:
就我个人而言,我在任何规模合适的系统中使用它们进行大多数PK,但我在一个到处复制的系统上接受了"培训",所以我们必须拥有它们.YMMV.
我认为重复数据是垃圾——不管你怎么做,你都可以得到重复数据.在我工作过的地方,代用 keys 通常是不受欢迎的.不过,我们确实使用了类似WordPress的系统:
UPDATE:个 所以这个得到了很多+1,我想我应该指出GUID PK的一个很大的缺点:聚集索引.
如果您有很多记录,并且GUID上有聚集索引,那么您的插入性能将会很差,因为您会在项目列表中的随机位置(这就是重点)进行插入,而不是在末尾(这很快)
因此,如果需要插入性能,可以使用auto inc INT,如果想与其他人共享,可以生成一个GUID(例如,在URL中向用户显示)