sql-server – 拥有标识列不是一个好主意?

在只需要1列作为键的表中,该列中的值可以是整数,何时不应使用标识字段?

相反,在同一个表和列中,何时手动生成其值,并且不会为每条记录使用自动生成的值?

我想当表中有大量的插入和删除时会出现这种情况.我对吗?还有什么其他情况?

如果您已经确定了Great Primary Key Debacle的代理方,那么我找不到使用身份密钥的单一原因.通常的替代方案是guids(它们有许多缺点,主要来自大小和随机性)和应用程序层生成的密钥.但是在应用程序层中创建代理键比看起来有点困难,也不包括非应用程序相关的数据访问(即批量加载,导入,其他应用程序等).一个特殊情况是分布式应用程序,当guids甚至顺序guid可以提供更好的网站ID身份密钥替代.
翻译自:https://stackoverflow.com/questions/932913/when-having-an-identity-column-is-not-a-good-idea

转载注明原文:sql-server – 拥有标识列不是一个好主意?