说例如我有一个表帐户和另一个称为交易。外键属性的顺序是否意味着什么?
如果账户有主键[NUM,类型]:
是什么这两个语句之间的区别...
这是交易外键:[ NUM,类型] < ACCOUNT [NUM,类型]
和
这是交易外键:[类型,NUM] <的帐户[NUM,类型]
注意 “<” 符号意在表示这个符号
说例如我有一个表帐户和另一个称为交易。外键属性的顺序是否意味着什么?
如果账户有主键[NUM,类型]:
是什么这两个语句之间的区别...
这是交易外键:[ NUM,类型] < ACCOUNT [NUM,类型]
和
这是交易外键:[类型,NUM] <的帐户[NUM,类型]
注意 “<” 符号意在表示这个符号
我当数据库索引必须从表中检索数据时,认为外键序列很重要。
如果你有表如下:
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
其中主键是键和代码然后当数据库将搜索,它将搜索关键第一因此降低了结果集,那么它会检索数据到代码的第二列。如果你扭转顺序,你会得到一个非优化的解决方案。
此外,我认为数据库试图以类似的方式链接列与外键。
因此它确实很重要。
如果您确实有疑问,请尝试创建两个通过外键相互链接的虚表。如果出现错误,请尝试Google提供该错误代码。你会得到一个正确的解释。
我同意,好点。这里是一些例子:http://appsdba.com/techinfo/composite_index.pdf –
我明白了,那么这个假设的情况怎么样......比如说** [num,type] **是** ACCOUNT的外键[num,type] **,是否有任何理由认为** [type,num] **不会是** ACCOUNT [num,type] **上的外键? – Ogen
如果允许,数据库将无法使用外键索引第二个表。这是排序你可以说,内部强迫让你让它正常工作..:P –
恩......如果答案有用,那么请接受相同的 –