GUID的使用主要基于生成全局唯一标识符的需要。从理论上讲,当我们的数据库中有一个表(带有ID)并且我们定期将外部系统中的记录导入到该表中时,它可能很有用。如果我们的本地数据库和外部系统都使用GUID作为其标识符,则不应存在ID重复冲突。但是,将GUID值用作PK时会出现性能损失。它们更大(16个字节),因此PK索引更大,可能是大小写页面拆分,因此插入和检索记录对于DBMS而言比使用PK标识符的整数类型值需要更多时间。
我怀疑GUID是否因为主键比拥有本地内部整数ID更好,并且将导入记录的GUID值存储到表中的单独列中。想听听有关在现实世界中使用GUID的意见,优点和缺点:)