修改索引

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

此主題說明如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中修改索引。

重要

因 PRIMARY KEY 或 UNIQUE 條件約束而建立的索引將無法使用此方法來修改。 必須修改條件約束。

本主題內容

使用 SQL Server Management Studio

若要修改索引

  1. 在 [物件總管] 中,連接到 SQL Server Database Engine 的執行個體,然後展開該執行個體。

  2. 展開 [資料庫],展開資料表所在的資料庫,然後展開 [資料表]

  3. 展開索引所在的資料表,然後展開 [索引]

  4. 以滑鼠右鍵按一下您要修改的索引,然後按一下 [屬性]

  5. [索引屬性] 對話方塊中,進行所需的變更。 例如,您可以在索引鍵中加入或移除資料行,或是變更索引選項的設定。

若要修改索引資料行

  1. 若要加入、移除或變更索引資料行的位置,請選取 [索引屬性] 對話方塊中的 [一般] 頁面。

使用 TRANSACT-SQL

若要修改索引

下列範例會利用 ProductID 選項,在 AdventureWorks 資料庫中 Production.WorkOrder 資料表的 DROP_EXISTING 資料行上卸除並重新建立現有的索引。 也會設定 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)
設定索引選項
重新命名索引