2013-06-28 140 views
1

我正在將兩個字段facilityCode和facilitySubCode添加到現有表中。正確的索引順序

ALTER TABLE SampleTable ADD facilityCode int not null 
ALTER TABLE SampleTable ADD facilitySubCode int null 

應用程序將來自使用facilityCode或facilitySubCode但不能同時此表中搜索記錄。我想添加一個索引來幫助這個查詢,但我不確定是否創建:

1)一個索引與兩列。如果是這樣,首先列出 的列?

2)2個索引,每個索引由1列組成。

作爲信息,facilityCode可以有0到多個子代碼,子代碼只有1個設施代碼。就使用情況統計而言,我不知道哪種搜索更受歡迎,可以通過設施搜索或通過子代碼搜索。我們可以假設MOST記錄同時具有facilityCode和facilitySubCode。

我應該選擇哪個選項?爲什麼?

回答

2

如果您想通過facilityCodefacilitySubCode進行搜索,但從不同時搜索兩列,則需要2個索引,每列一個索引。

爲什麼跨兩列的單個索引不理想會是因爲不管列在索引的前沿上的哪個列都不能使用該列的那個索引進行搜索。

欲瞭解更多詳情,請點擊這裏I would suggest reading the answers to this question