当前位置:  开发笔记 > 编程语言 > 正文

使用复合/复合主键有哪些缺点?

如何解决《使用复合/复合主键有哪些缺点?》经验,为你挑选了2个好方法。

使用复合/复合主键有哪些缺点?



1> Max Galkin..:

    可能导致规范化的更多问题(2NF," 请注意,当1NF表没有复合候选键(候选键由多个属性组成)时,表自动在2NF ")

    更多不必要的数据重复.如果组合键由3列组成,则需要在每个表中创建相同的3列,并将其用作外键.

    一般可以在代理键的帮助下避免(阅读它们的优点和缺点)

    我可以想象一个复合键的好方案 - 在表示N:N关系的表中,如Students - Classes,中间表中的键将是(StudentID,ClassID).但是如果你需要存储关于每一对的更多信息(比如一个班级中学生的所有分数的历史记录),那么你可能会引入一个代理键.



2> Matt Howells..:

拥有复合密钥本身没有任何问题,但理想情况下主键应尽可能小(就所需的字节数而言).如果主键很长,那么这将导致非聚集索引膨胀.

请记住,主键中列的顺序很重要.第一列应尽可能具有选择性,即尽可能"独特".搜索第一列将能够搜索,但只搜索第二列必须扫描,除非第二列上还有非聚集索引.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有