有沒有辦法可以禁用聚集索引?正如我在下面的MSDN中所看到的那樣,「如果未指定CLUSTERED,則會創建一個非聚集索引。」在SQL中禁用聚簇索引的方法和哪個列會創建默認非聚簇索引?
價:http://msdn.microsoft.com/en-IN/library/ms188783.aspx
因爲我讀,默認情況下聚集索引在主鍵列被創建。即使通過某種方式禁用了它,根據上面的MSDN默認情況下會創建一個非聚集索引?如果是這樣的列?
我是新來的SQL請幫忙。
有沒有辦法可以禁用聚集索引?正如我在下面的MSDN中所看到的那樣,「如果未指定CLUSTERED,則會創建一個非聚集索引。」在SQL中禁用聚簇索引的方法和哪個列會創建默認非聚簇索引?
價:http://msdn.microsoft.com/en-IN/library/ms188783.aspx
因爲我讀,默認情況下聚集索引在主鍵列被創建。即使通過某種方式禁用了它,根據上面的MSDN默認情況下會創建一個非聚集索引?如果是這樣的列?
我是新來的SQL請幫忙。
您可以禁用聚簇索引。
ALTER INDEX IX_Index ON dbo.Table
DISABLE ;
謝謝。所以如果我禁用它,根據MSDN一個非聚集索引將被創建? – Learner 2013-03-01 21:32:38
我認爲你誤解了這一點。就像@JackLock上面所說的,如果你創建了一個沒有CLUSTERED語句的索引,那麼這個索引是非聚集的。 – 2013-03-01 21:34:32
技術上正確但可能不是一個好主意。 CREATE TABLE T(X INT CONSTRAINT IX_Index PRIMARY KEY); ALTER INDEX IX_Index ON T DISABLE; SELECT * FROM T'產生查詢處理器無法產生計劃,因爲表或視圖'T'上的索引'IX_Index'是殘疾人士。' – 2013-03-01 21:55:12
我覺得上面的幫助的意思是,如果你不寫在默認情況下,您的CREATE INDEX DDL的話就會產生非聚集索引CLUSTERED關鍵字。 – JackLock 2013-03-01 21:32:04
@傑克鎖:這是可能的,謝謝:) – Learner 2013-03-01 21:35:33
沒問題。我知道,BOL有時可能有點混亂。 – JackLock 2013-03-01 21:37:42