当前位置: 代码迷 >> 综合 >> SqlServer2008实例28索引预览之使用DROP EXISTING改变既有索引
  详细解决方案

SqlServer2008实例28索引预览之使用DROP EXISTING改变既有索引

热度:83   发布时间:2024-01-31 20:01:02.0

   ALTER INDEX可以用来改变索引选项、重建或重组织索引以及禁用索引,但不可以用来实际地添加、删除或重排索引中的列。
可以使用CREATE INDEX...DROP  EXISTING来改变既有索引的列定义。这个选项还拥有在单条命令中删除和重建索引的优点(取代同时使用DROP INDEX和CREATE INDEX)。而且,在聚集索引上使用DROP EXISTING也不会引起既有的非聚集索引自动重建,除非索引列定义已发生改变。

USE AdventureWorks
GO--重建非聚集索引(未改变列定义):
CREATE NONCLUSTERED INDEX NCI_TerminationReason_DepartmentID ON
HumanResources.TerminationReason
(DepartmentID ASC)
WITH (DROP_EXISTING=ON)
GO--下一步,将新的列添加到既有的非聚集索引中:
CREATE NONCLUSTERED INDEX NCI_TerminationReason_DepartmentID ON
HumanResources.TerminationReason
(ViolationSeverityLevel,DepartmentID DESC)
WITH (DROP_EXISTING=ON)
GO

 

  相关解决方案