管理の手引き


SQL アドバイス機能

インデックス・アドバイザーは、 データに合わせて索引を設計したり定義したりする必要を減らす管理ツールです。

インデックス・アドバイザーは、以下の点で優れています。

この SQL アドバイス機能に関連した、いくつかの概念を説明します。 まず、作業負荷 が存在します。 作業負荷は、 データベース・マネージャーが所定の期間に処理しなければならない一連の SQL ステートメントです。 この SQL ステートメントには、SELECT、INSERT、UPDATE、 および DELETE ステートメントを含められます。 たとえば、1 カ月の間、データベース・マネージャーは、1 000 の INSERT、 10 000 の UPDATE、10 000 の SELECT、 および 1 000 の DELETE を処理しなければならないことがあります。 作業負荷内の情報は、 所定の期間における SQL ステートメントのタイプと頻度に関係するものです。 アドバイス・エンジンは、この作業負荷情報をデータベース情報と共に使用して、 索引を推奨します。 アドバイス・エンジンの目的は、作業負荷の合計コストを最小化することです。

次に、仮想索引 という概念があります。 仮想索引とは、現在のデータベース・スキーマに存在しない索引です。 これらの索引は、アドバイス機能によって提示された推奨索引であるか、 アドバイス機能に評価させる索引のいずれかになります。 さらにこれらの索引は、アドバイス機能が処理の一部であるとみなし、 推奨されない場合に廃棄される索引でもあります。 仮想索引は、ADVISE_INDEX 表を使用して、アドバイス機能へ受け渡しされます。

アドバイス機能は、作業負荷とデータベースからの統計を使用し、 推奨索引を生成します。

アドバイス機能は、2 つの Explain 表を使用します。

注:この表を作成するには、 sqllib サブディレクトリーの misc サブディレクトリーにある EXPLAIN.DDL を実行します。 まだ作成していなければ、「索引 (Index)」ウィザードで表を作成することもできます。

インデックス・アドバイザーを使用するときの処理には、入力、アドバイザーの呼び出し、 出力、および考慮する必要のあるいくつかの事例が関係します。

インデックス・アドバイザーの入力を作成するには、次の 3 つの方法があります。

インデックス・アドバイザーを呼び出すには、次の 4 つの方法があります。

アドバイザーからの結果を使用する方法は、いくつかあります。

特定の照会についてより良い推奨を獲得するために、 その照会そのものに対してアドバイス機能を使用することが提案されています。 「索引 (Index)」ウィザードを使用し、 該当する照会だけを含む作業負荷を作成することにより、 1 つの照会のために索引を推奨することができます。

サンプルの作業負荷は、イベント・モニターの出力から収集することができます。 イベント・モニターでは、動的 SQL の実行を集めることができます。 その後、このステートメントをアドバイス機能に送ります。

「索引 (Index)」ウィザードは、単純明快で使いやすいビジュアル・インターフェースであり、 アドバイス機能にアクセスするための優れた方法です。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]