2014-03-25 50 views
0

說例如我有一個表帳戶和另一個稱爲交易外鍵屬性的順序是否意味着什麼?

如果賬戶有主鍵[NUM,類型]

是什麼這兩個語句之間的區別...

這是交易外鍵:[ NUM,類型] < ACCOUNT [NUM,類型]

這是交易外鍵:[類型,NUM] <的帳戶[NUM,類型]

注意 「<」 符號意在表示這個符號enter image description here

+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 

其中主鍵是鍵和代碼然後當數據庫將搜索,它將搜索關鍵第一因此降低了結果集,那麼它會檢索數據到代碼的第二列。如果你扭轉順序,你會得到一個非優化的解決方案。

此外,我認爲數據庫試圖以類似的方式鏈接列與外鍵。

因此它確實很重要。

如果您確實有疑問,請嘗試創建兩個通過外鍵相互鏈接的虛表。如果出現錯誤,請嘗試Google提供該錯誤代碼。你會得到一個正確的解釋。

+0

我同意,好點。這裏是一些例子:http://appsdba.com/techinfo/composite_index.pdf –

+0

我明白了,那麼這個假設的情況怎麼樣......比如說** [num,type] **是** ACCOUNT的外鍵[num,type] **,是否有任何理由認爲** [type,num] **不會是** ACCOUNT [num,type] **上的外鍵? – Ogen

+0

如果允許,數據庫將無法使用外鍵索引第二個表。這是排序你可以說,內部強迫讓你讓它正常工作..:P –