【发布时间】:2012-11-20 04:44:51
【问题描述】:
我已经多次看到唯一标识符和long int这两种数据类型作为数据表的主键。哪一个更好?请分享您的意见。两者各有优劣。
【问题讨论】:
标签: sql sql-server primary-key sqldatatypes
我已经多次看到唯一标识符和long int这两种数据类型作为数据表的主键。哪一个更好?请分享您的意见。两者各有优劣。
【问题讨论】:
标签: sql sql-server primary-key sqldatatypes
if you don't have a specific reason to use GUIDs, use INTs.
GUID 的优势:
唯一标识符更好,因为guaranteed to always return a
unique value across space and time
我不知道创建 GUID 的完整机制,但我似乎知道 请记住,它与您的 MAC 地址有关 网卡和系统时间。
如果您是 consolidating records from multiple
SQL Servers into one table,这会派上用场,例如在数据仓库情况下。
SQL Server 复制也大量使用 GUID 来跟踪分布在多个 SQL Server 中的行。DISADVANTAGEOUS OF GUID:
没有办法确定唯一标识符的顺序 产生了值。它们不适合现有的应用程序 依赖于连续增加键值
使用 GUID 作为键值的主要缺点是它们是 大的。基于 GUID 构建的索引将比 建立在 IDENTITY 列上的索引
【讨论】: