修改索引
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Microsoft Fabric SQL 数据库
本主题说明如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中修改索引。
重要
不能通过此方法修改作为 PRIMARY KEY 或 UNIQUE 约束的结果而创建的索引, 而必须修改约束。
本主题内容
若要修改索引,请使用:
使用 SQL Server Management Studio
修改索引
在对象资源管理器中,连接到 SQL Server 数据库引擎 的实例,然后展开该实例。
展开 “数据库”,展开该表所属的数据库,再展开 “表”。
展开该索引所属的表,再展开 “索引”。
右键单击要修改的索引,然后单击“属性”。
在 “索引属性” 对话框中进行所需的更改。 例如,您可以从索引键中添加或删除列,或更改索引选项的设置。
修改索引列
- 若要添加、删除或更改索引列的位置,请从 “索引属性” 对话框中选择 “常规” 页。
“使用 Transact-SQL”
修改索引
下面的示例使用 DROP_EXISTING
选项,删除 AdventureWorks 数据库中 Production.WorkOrder
表的 ProductID
列上的现有索引并重新创建。 还设置了 FILLFACTOR
和 PAD_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
)
;
修改索引列
- 若要添加、删除或更改索引列的位置,您必须删除并重新创建该索引。
另请参阅
CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
设置索引选项
重命名索引