【SQL Server】インデックス(index)を変更する

SQL Serverのインデックス(index)を変更するSQL

SQL Serverにインデックス(index)を変更するSQLはありません。

変更するには、インデックスを削除し、新規に作成します。

変更の手順

  1. インデックスを削除します
  2. インデックスを新規作成します

順番に説明します。

インデックス削除

-- インデックス削除する
ALTER TABLE {テーブル} DROP CONSTRAINT {インデックス};

インデックス作成

-- クラスター化インデックス作成
CREATE CLUSTERED INDEX {インデックス} ON {テーブル} ({列});
-- 非クラスター化インデックス作成
CREATE NONCLUSTERED INDEX {インデックス} ON {テーブル} ({列});

例1. インデックスを削除する例

-- インデックスindex1削除
DROP INDEX index1 on db1.emp;

ここでは、db1にある「emp」テーブルのインデックス「index1」を削除しました。

参照:インデックスの削除 | Microsoft Docs

例2. (クラスター化)インデックスを作成する例

-- インデックスindex1作成
CREATE CLUSTERED INDEX index1 on db1.emp (empname);

ここでは、db1にある「emp」テーブルの「empname」にインデックス「index1」を作成しました。

参照:クラスター化インデックスの作成 | Microsoft Docs

SQL Serverのインデックス(index)を変更するSQLはありませんが、インデックスを削除し、新規作成することで変更と同じことができました。

以上、SQL Serverのインデックス(index)を変更するSQLの手順でした。

コメント