SQL Server中是否需要主键?

这可能是一个很天真和愚蠢的问题,但我会问它

我有一个表有几个字段,没有一个是唯一的,和一个主键,这显然是。

此表通过非唯一字段定期访问,但没有通过主键的用户SP或进程访问数据。是主键是必要的吗?它是在幕后使用吗?将会消除它影响性能积极还是消极?

必要?不是在后台使用?好吧,它保存到磁盘并保存在行缓存等。删除将稍微提高您的性能(使用毫秒精度的手表注意)。

但是…下次有人需要创建对这个表的引用,他们会诅se你。如果他们勇敢,他们将添加一个PK(并等待很长时间为数据库创建列)。如果他们不勇敢或愚蠢,他们将开始使用业务键(即数据列)创建引用,这将导致维护噩梦。

结论:由于具有PK的成本(即使它不使用ATM)是如此之小,让它成为。

http://stackoverflow.com/questions/3459429/is-a-primary-key-necessary-in-sql-server

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:SQL Server中是否需要主键?