走向圖here的:我在我的上表數據倉庫工作列1和3SQL Server索引 - 列順序
迷茫,但是也有一些作爲,讓你一鍵兩列主鍵。
第一列是源系統。有三種可能的值可以說IBM,SQL和ORACLE。然後組合鍵的第二部分是它可以是數字或varchar的事務ID。沒有第三欄。除了在記錄加載時將由Identity(1,1)生成的密鑰之外的密鑰。所以在圖形下方我想如果我通過在查詢
Select a.Patient,
b.Source System,
b.TransactionID
from Patient A
right join Transactions B
on A.sourceSystem = B.sourceSystem and
a.transactionID = B.transactionID
where SourceSystem = "SQL"
的圖形使我認爲在索引列1應被設置爲SourceSystem。因爲它會立即將鑽取分成第三級的下一級索引。但是,當向同事展示此圖時,他們將其解釋爲第1列是transactionID,第2列是源系統。
列數
1 2 3
-------------
| | 1 | |
| A |---| |
| | 2 | |
|---|---| |
| | | |
| | 1 | 9 |
| B | | |
| |---| |
| | 2 | |
| |---| |
| | 3 | |
|---|---| |
你問你的數據庫設計還是關於性能? –
您的查詢將不會執行。它會給出一個不明確的列名錯誤。 –
問題是:我應該把最有選擇性的列首先或最後(谷歌!)。大部分內容歸結爲:其他查詢最多使用Col1還是Col2?換句話說,其他查詢的索引如何可重用。 –