SQLテーブルのインデックスを再作成する方法

大規模なデータベースのテーブルのインデックスは、そのパフォーマンスとユーティリティに大きな違いをもたらします。インデックスがないと、大きなテーブルで1つのレコードを見つけるのに数秒かかる場合があります。インデックスを使用すると、レコードの検索に数分の1秒かかります。頻繁に追加、削除、変更されるテーブルの場合、インデックスが断片化されてまとまりがなくなり、パフォーマンスが低下する可能性があります。テーブルのインデックスの再作成は、インデックスを再編成し、迅速なアクセスを復元するため、優れたデータベースハウスキーピングの重要な部分です。MicrosoftのSQLServerには、テーブル内のすべてのインデックスを再構築する便利なコマンドがあります。Oracleユーザーは通常、テーブル内の各インデックスを個別に再構築します。

Microsoft SQL Server

1

SQL Server ManagementStudioを起動します。Management Studioプログラムが起動し、[サーバーに接続]ダイアログボックスが表示されます。

2

ダイアログボックスに表示されたリストからサーバーエントリをクリックします。小規模な組織にはサーバーが1つしかありません。大企業はいくつかあるかもしれません。

3

ダイアログボックスの[認証]プルダウンリストで[Windows認証]をクリックします。「接続」ボタンをクリックします。

4

Management Studioツールバーの[新しいクエリ]をクリックして、SQLステートメントのテキストエディターを開きます。

5

次のステートメントをガイドとして使用して、テキスト領域にコマンドを入力します。

USE database_name DBCC DBREINDEX table_name

USEステートメントは、サーバー上のデータベースを選択して開きます。「database_name」の代わりにデータベースの名前を使用してください。DBCC DBREINDEXステートメントは、テーブル内のすべてのインデックスを再構築します。テーブルの名前を「table_name」に置き換えます。たとえば、コマンドは次のようになります。

USEはDBCCDBREINDEX製品を注文します

6

右向きの緑色の三角形のように見えるManagementStudioツールバーの[実行]ボタンをクリックして、SQLコードを実行し、コードの下の別の領域に結果を一覧表示します。

オラクル

1

コンピュータでSQLPlusを起動します。SQL Plusユーティリティは、次のプロンプトを表示します。

SQL>

2

次のように「connect」コマンドを入力して、Oracleデータベースに接続します。

user_id @database_identifierを接続します

「Enter」を押します。データベースのユーザー名を「user_id」に置き換え、特定のOracleデータベースを「database_identifier」に置き換えます。SQL * Plusは、パスワードの入力を求めます。パスワードを入力し、もう一度「Enter」を押します。

3

次のコードを例として使用して、Oracleの「ALTERINDEX」コマンドを入力します。

ALTER INDEX table_index_ix REBUILD PARALLEL;

「table_index_ix」の代わりに、再構築するインデックスの名前を使用します。「PARALLEL」キーワードは、並列処理を使用してインデックスの再作成をできるだけ速くするようにOracleに指示します。「ALTERINDEX」ステートメントは、一度に1つのインデックスを再構築することに注意してください。テーブルに複数のインデックスがある場合は、それぞれに「ALTERINDEX」が必要です。

4

「Enter」を押してコマンドを実行します。