相关疑难解决方法(0)

为什么主键值会改变?

我最近一直在研究 ROWGUID 的概念并遇到了这个问题。 这个答案提供了洞察力,但在提到更改主键值时使我陷入了另一个困境。

我的理解一直是主键应该是不可变的,自从阅读这个答案以来,我的搜索只提供了与最佳实践相同的答案。

在什么情况下需要在创建记录后更改主键值?

database-design primary-key

20
推荐指数
4
解决办法
1万
查看次数

PK 作为 ROWGUIDCOL 还是使用单独的 rowguid 列?

这里正在进行一场冗长的辩论,所以我想听听其他意见。

我有许多带有 uniqueidentifier 聚集 PK 的表。这是否是一个好主意超出了这里的范围(并且不会很快改变)。

现在,必须合并发布数据库,并且 DEV 提倡使用单独的 rowguid 列,而不是将现有的 PK 标记为 ROWGUIDCOL。

基本上,他们说应用程序永远不应该将仅由复制使用的东西带入其域(这对他们来说只是“DBA 的东西”)。

从性能的角度来看,我认为没有理由添加一个新列来做一些我可以用现有列做的事情。而且,既然只是“DBA 的东西”,为什么不让DBA 选择呢?

我有点理解 DEV 的观点,但我仍然不同意。

想法?

编辑:我只想补充一点,我在这场辩论中是少数,质疑我立场的开发者是我尊重和信任的人。这就是我求助于征求意见的原因。
我也可能遗漏了一些东西,并且可能误解了他们的观点。

database-design sql-server merge-replication

9
推荐指数
3
解决办法
3462
查看次数