Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » パフォーマンスの向上、診断、モニタリング » パフォーマンスのモニタリングと診断のツール » インデックスコンサルタント

 

インデックスコンサルタントの推奨内容

トレーシングセッションを分析する前に、推奨内容のタイプを確認するメッセージが表示されます。

  • クラスタードインデックスの推奨   このオプションを選択すると、インデックスコンサルタントは、クラスタードインデックスと非クラスタードインデックスの効果を分析します。

    一部の負荷に対しては、クラスタードインデックスを適切に選択すると、非クラスタードインデックスよりも大幅にパフォーマンスが改善されます。ただし、このためには REORGANIZE TABLE 文を使用してテーブルを再編成する必要があります。さらに、クラスタードインデックスの効果を考慮すると分析に時間がかかります。

  • 既存のセカンダリインデックスの維持   インデックスコンサルタントは、データベース内の既存のセカンダリインデックスセットを維持または無視して分析を実行できます。セカンダリインデックスは、一意性制約、プライマリキー、または外部キー以外のインデックスです。参照整合性制約を確保するためのインデックスは、アクセスプランの選択時に常に考慮されます。

分析は、次の手順で行われます。

  • 候補インデックスの生成   各トレーシングセッションに対して、インデックスコンサルタントは、候補インデックスのセットを生成します。大きなテーブルに対して実際のインデックスを作成することは、時間のかかるオペレーションとなる場合があります。そこでインデックスコンサルタントは、候補を仮想インデックスとして作成します。仮想インデックスは、実際にクエリを実行するときには使用できません。しかしオプティマイザーは、実際にインデックスが利用できるかのように仮想インデックスを使用して実行プランのコストを推定できます。仮想インデックスにより、インデックスコンサルタントは、実際にインデックスを作成し管理するコストなしに、「もしこうしたインデックスが存在したらどうなるか」という分析ができます。仮想インデックスは、最大 4 カラムまでを扱えます。

  • 候補インデックスの利益とコストのテスト   インデックスコンサルタントは、オプティマイザーに、いくつかの候補インデックスの組み合わせを使用した場合としない場合の、トレーシングデータベース内のクエリの実行コストを推定するように要求します。

  • 推奨内容の生成   インデックスコンサルタントは、クエリコストの結果をまとめ、提供する総利益によってインデックスをソートします。インデックスコンサルタントは、SQL スクリプトを提供します。そのスクリプトを実行して推奨内容を実装することも、保存して独自に確認、分析することもできます。

 参照