有没有办法可以禁用聚集索引?正如我在下面的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