-4

可能重复:
SQL 主键、INT 或 GUID 或..?

在 sql server 表中使用唯一标识符的最佳实践是什么?

我看过有关使用 guid 或 int 的文章,每种方法的优缺点。

我希望使用以下主体,对于外部标识符,应该使用 guid,但对于内部标识符,最好使用 int。

我正在寻找有关此原则的反馈以及有关最佳方法的指南。

4

2 回答 2

0

我喜欢所有表的 PK 的聚集标识列。

  1. 它们更容易使用,因为我是人类。
  2. 它们需要更少的存储空间(记住索引也使用你的 PK)

如果我需要创建一个不可猜测的标识符,我还会使用一个 guid 列,但我仍然有我的身份列。

我只见过一个令人信服的论点,将 guid 用作集群 pk,并且仅限于非常高的插入场景(我记得每秒数百次)。在这种情况下,您不希望一个硬盘驱动器磁头完成所有磁盘写入,因此 GUID 会强制它不要简单地添加到表的末尾并在整个位置进行写入。

于 2012-11-02T19:01:28.833 回答
0

我同意你的原则。在 URL 中公开整数会使网络访问者猜测,例如更改数字以查看网站的反应。URL 中的 int 也显示了数据库的大小。我不想要那个。我喜欢 URL 中的指南。

于 2012-11-02T18:48:42.903 回答