【发布时间】:2023-04-09 17:36:01
【问题描述】:
我正在使用 SqlServer 和 Linq to Sql 开始新项目。
哪种数据类型更适合表中的代理键:identity 或 uniqueidentifier?
据我了解,identity 是在插入时自动生成的,而uniqueidentifier 应该在代码(GUID)中生成。
是否存在显着的性能差异?
例如identity 值必须在插入后读取,因此插入后会有额外的数据库行程。
编辑:
我在另一个问题中找到了非常详细的答案:Tables with no primary keys。阅读选定的答案。
编辑 2:
关于代理键的答案:我更喜欢代理键而不是自然键。该决定已完成,因此请不要建议重新考虑数据库设计。另外,请不要讨论自然键和代理键的优缺点。
【问题讨论】:
标签: sql-server linq linq-to-sql