sql-server – SQL Server 2005会惩罚我使用nvarchar(50)作为主
发布时间:2020-12-12 16:43:00 所属栏目:MsSql教程 来源:网络整理
导读:我正在考虑改变一些表,以使用nvarchar(50)作为主键而不是int主键.使用int ID作为密钥真的是不相关的数据,它是我感兴趣的字符串,会发生什么样的性能,或者你在哪里研究?除了切,尝试就是. 解决方法 你已经打了数据库设计的主要“圣战”之一.你所说的辩论是“代
我正在考虑改变一些表,以使用nvarchar(50)作为主键而不是int主键.使用int ID作为密钥真的是不相关的数据,它是我感兴趣的字符串,会发生什么样的性能,或者你在哪里研究?除了切,尝试就是.
解决方法你已经打了数据库设计的主要“圣战”之一.你所说的辩论是“代理与自然键”的论证,只要已经有RDBMS(就像我可以说的那样)一直在肆虐.辩论本质上归结于是否应该使用代表性的密钥(代理,例如IDENTITY列),而不是使用唯一描述记录的实际数据(自然密钥). 我会说没有“正确”的答案.绩效指标是平台的工具,应通过实验进行评估,但绩效不可能成为主要关注点. 我认为是替代键的主要参数是主键的不变性.如果您选择使用自然键,则可以在建立之后放弃更改该键的选项.你也放弃在未来的某个时刻变得不是独一无二的可能性.由于这些原因,我通常(不总是)使用代理键大多数表. 但是,正如我所说,如果你倾向于这样一个长期的辩论,充满讨论索引策略和正常形式的衔接. 我会把Google“代替自然键”.以下是几个可以让您开始的链接: Systems Engineering and RDBMS Techrepublic Tony Rogerson’s blog 希望这可以帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |