データベース千夜一夜第35回

データベースの調整と保守 長谷川裕行
有限会社 手國堂

インデックスのチューニング

この他にも、Enterprise Managerには保守管理に使えるウィザードが用意されています。メニューから「ツール」→「ウィザード」を選択します(画面13)。

「データベース」の項目では、データベース、ビュー、ストアドプロシージャ、インデックスなどの作成がウィザード形式で実行できます。が、これらはEnterprise Managerで直接作成することも、SQLを使って作成することもできるため、ウィザードに頼る必要はないでしょう。

管理面で便利な機能は「管理」の項目にある「インデックス チューニング ウィザード」です。


- 適切なインデックスを -

テーブルに適切なインデックスを設定することで、処理効率が向上します。インデックスは、SELECT命令でテーブルからレコードを抽出するためだけではなく、関連付けを伴ったクエリで関連する(参照先)テーブルからレコードを導出する際にも利用されます。適切なインデックスの設定が、処理効率を左右します。

但し、インデックスを作成すれば必ず処理効率が向上する、というものではありません。場合によっては、インデックスを生成しない方が効率的なこともあります。そのため、まずどのテーブルのどのフィールドにインデックスを作成すればよいか、過去のアクセス状況に基づいて検討しなければなりません。その際に役立つのが「インデックス チューニング ウィザード」です。


- 起動とログの指定 -

実行すると、まず対象のデータベースを選択します(画面14)。

SQLプロファイラで作成したトレースログ(ワークロードファイルまたはトレーステーブル)を選択します(画面15)。

ウィザードは、ここに記録されたトレースログに基づいてデータベース内の各テーブルのアクセス数などを分析し、適切なインデックスを計算します。


- テーブルの選択 -

続いて、インデックスをチューニングしたいテーブルを選択します(画面16)。

設定に基づいて指定したワークロードを読み取り、テーブルのインデックスに対する推奨設定が示されます(画面17)。

最後に、推奨設定に基づいてインデックスを作成または更新するか、バックアップなど他のジョブと共にスケジューリングするか、インデックスの作成をTransact-SQLのスクリプトとして保存するかを選択します。

インデックスを作成・更新すると、当然のことながらデータベースが書き換えられるので、実行前にデータベースをバックアップしておきましょう。









トップページ
データベースの調整・保守とは?
何をどのように調整するのか?
SQLプロファイラ
データベースの保守
インデックスのチューニング
適切なインデックスを
起動とログの指定
テーブルの選択
SQL Serverの環境設定
あとがき
Copyright © MESCIUS inc. All rights reserved.