外键属性的顺序是否意味着什么?

时间:2014-03-25 11:12:55

标签: sql

比方说,我有一个名为 ACCOUNT 的表,另一个名为 TRANSACTIONS

如果 ACCOUNT 主键 [num,type]

这两个陈述之间有什么区别......

这是 TRANSACTION 的外键: [num,type]<帐户[num,type]

这是 TRANSACTION 的外键: [type,num]<帐户[num,type]

请注意,“< ”符号表示此符号enter image description here

1 个答案:

答案 0 :(得分:2)

我认为当数据库索引必须从表中检索数据时,外键排序很重要。

如果你有以下表格:

key | code | value
 a  |  1   | val 1
 a  |  2   | val 2
 b  |  1   | val 3
 b  |  2   | val 4
 c  |  1   | val 5
 c  |  2   | val 6

其中主键是键和代码,然后当数据库搜索时,它将首先搜索键,从而减少结果集,然后它将检索数据到第二列,即Code。如果你颠倒顺序,你会得到一个非优化的解决方案。

我认为数据库试图以类似的方式将列与外键链接。

因此它很重要。

如果您有疑问,请尝试创建2个虚拟表,这些表通过外键相互链接。如果它给出了错误,请尝试Google的错误代码。你会得到一个正确的解释。