SQL Serverのインデックスを再構築する

SQL Serverのインデックスを再構築する

SQL Serverはインデックスの断片化によりパフォーマンスが悪化することがあります。

その場合、インデックスを再構築するとパフォーマンス向上する場合があります。

SQL Serverのインデックスを再構築するには2つのパターンがあります。

  • 特定のインデックスのみを再構築する
  • 特定のテーブルに紐づいたインデックスを丸ごと再構築する

インデックスを再構築するには2つのパターンについて解説します。

SQL Serverのインデックスを再構築する(インデックス指定)

-- インデックスを再構築する
ALTER INDEX {インデックス名} ON {テーブル名} REBUILD;

インデックスを再構築するには「ALTER INDEX ~ REBUILD」を使います。

-- index1を再構築する
ALTER INDEX index1 ON dbo.table1 REBUILD;

ここでは「index1」を再構築しました。

SQL Serverのインデックスを再構築する(テーブルまとめて)

-- テーブルのインデックスをまとめて再構築する
ALTER INDEX ALL ON {テーブル名} REBUILD;

あるテーブルのインデックスをまとめて再構築するには「ALTER INDEX ALL ~ REBUILD」を使います。インデックスが3つ、4つあってもすべて再構築します。

-- table1のインデックスをまとめて再構築する
ALTER INDEX ALL ON dbo.table1 REBUILD;

ここではtable1テーブルのインデックスをまとめて再構築しました。

これで、インデックスを再構築する2種類の方法(インデックスごと、テーブルごと)でインデックスを再構築できました。

以上、SQL Serverのインデックスを再構築するSQLでした。

コメント