說例如我有一個表帳戶和另一個稱爲交易。外鍵屬性的順序是否意味着什麼?
如果賬戶有主鍵[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 –
恩......如果答案有用,那麼請接受相同的 –