我在数据库中检测到了给定表的几个复合键。我怎样才能选择他们之间最好的一个。换句话说,对这些键进行排名是最好的策略。 谢谢
答案 0 :(得分:0)
这不是很多,但我会在这里说出来并说...
您可能会将主键与索引混淆。我的基础是你说你已经检测到这些复合键(让我觉得你找到了自然的主键),但你也说你找到了几个 - 不是。
主键根据定义是唯一值或唯一值组合;它们用于唯一标识表中的每一行;并且只能有一个(引用康纳麦克劳德)。
索引更多地是关于创建一个引用,该引用可用于通过您希望排序的列,在连接中引用等来有效地对表进行排序和扫描;它们依赖于使用;并且你可以拥有你认为合理的数量(但不要过分,它们可以减慢像Inserts这样的东西)。有些工具试图根据代码中引用它们的方式来嗅出有用的索引。
您选择加入两个表的列完全基于它们的共性所在。它可能是两个表中的全部,部分或全部主键。如果这些列经常用于连接,您可能需要为它们创建索引。
我希望这会有所帮助。