修改索引

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中修改索引。

重要

不能通过此方法修改作为 PRIMARY KEY 或 UNIQUE 约束的结果而创建的索引, 而必须修改约束。

本主题内容

使用 SQL Server Management Studio

修改索引

  1. 在对象资源管理器中,连接到 SQL Server 数据库引擎 的实例,然后展开该实例。

  2. 展开 “数据库”,展开该表所属的数据库,再展开 “表”

  3. 展开该索引所属的表,再展开 “索引”

  4. 右键单击要修改的索引,然后单击“属性”

  5. “索引属性” 对话框中进行所需的更改。 例如,您可以从索引键中添加或删除列,或更改索引选项的设置。

修改索引列

  1. 若要添加、删除或更改索引列的位置,请从 “索引属性” 对话框中选择 “常规” 页。

“使用 Transact-SQL”

修改索引

下面的示例使用 DROP_EXISTING 选项,删除 AdventureWorks 数据库中 Production.WorkOrder 表的 ProductID 列上的现有索引并重新创建。 还设置了 FILLFACTORPAD_INDEX 选项。

CREATE NONCLUSTERED INDEX IX_WorkOrder_ProductID
    ON Production.WorkOrder(ProductID)
    WITH (FILLFACTOR = 80,
        PAD_INDEX = ON,
        DROP_EXISTING = ON)
;

下面的示例使用 ALTER INDEX 为索引 AK_SalesOrderHeader_SalesOrderNumber设置了几个选项。

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;

修改索引列

  1. 若要添加、删除或更改索引列的位置,您必须删除并重新创建该索引。

另请参阅

CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
设置索引选项
重命名索引