可能重复:
SQL 主键、INT 或 GUID 或..?
在 sql server 表中使用唯一标识符的最佳实践是什么?
我看过有关使用 guid 或 int 的文章,每种方法的优缺点。
我希望使用以下主体,对于外部标识符,应该使用 guid,但对于内部标识符,最好使用 int。
我正在寻找有关此原则的反馈以及有关最佳方法的指南。
可能重复:
SQL 主键、INT 或 GUID 或..?
在 sql server 表中使用唯一标识符的最佳实践是什么?
我看过有关使用 guid 或 int 的文章,每种方法的优缺点。
我希望使用以下主体,对于外部标识符,应该使用 guid,但对于内部标识符,最好使用 int。
我正在寻找有关此原则的反馈以及有关最佳方法的指南。
我喜欢所有表的 PK 的聚集标识列。
如果我需要创建一个不可猜测的标识符,我还会使用一个 guid 列,但我仍然有我的身份列。
我只见过一个令人信服的论点,将 guid 用作集群 pk,并且仅限于非常高的插入场景(我记得每秒数百次)。在这种情况下,您不希望一个硬盘驱动器磁头完成所有磁盘写入,因此 GUID 会强制它不要简单地添加到表的末尾并在整个位置进行写入。
我同意你的原则。在 URL 中公开整数会使网络访问者猜测,例如更改数字以查看网站的反应。URL 中的 int 也显示了数据库的大小。我不想要那个。我喜欢 URL 中的指南。