IBM InfoSphere Federation Server バージョン 10.5

グローバル・カタログ統計情報

フェデレーテッド・サーバー上のグローバル・カタログには、照会の最適化に使用する統計情報が含まれています。

フェデレーテッド・サーバーは、ニックネームに関係した照会を最適化するためにニックネームが定義されているデータ・ソース・オブジェクトの統計に依存しています。 これらの統計情報は、CREATE NICKNAME ステートメントを使用して データ・ソース・オブジェクトにニックネームを作成した時に検索されます。 フェデレーテッド・データベースはデータ・ソース側にオブジェクトが存在するかチェックし、 次に既存のデータ・ソース統計データを収集します。 オプティマイザーにとって役に立つ情報は、 データ・ソース・カタログから読み取られ、 フェデレーテッド・サーバー上のグローバル・カタログに置かれます。 オプティマイザーは、データ・ソースのカタログ情報の一部、 またはすべてを使用するので、ニックネームを作成する前に、 データ・ソース側で (RUNSTATS と同等のデータ・ソース・コマンドを使用して) 統計情報を更新しておくことをお勧めします。

カタログ統計情報は、表およびビューの全体的なサイズ、 および関連する列の値の範囲を記述しています。 検索される情報には、以下のものが含まれています (ただし、これらに限定されるわけではありません)。
  • ニックネーム・オブジェクト内の行数
  • ニックネームが占めるページ数
  • 表の各列の個別値の数
  • 索引の列の個別値の数
  • 列の最高値/最低値

フェデレーテッド・データベースはデータ・ソース側の統計データを検索することはできますが、 データ・ソース側の既存の統計データが変更されても、 それを自動的に検出することはできません。 さらに、フェデレーテッド・データベースは、オブジェクト定義や、 データ・ソース側のオブジェクトの構造の変更 (例えば、 表に列を追加した場合など) を処理するメカニズムを持っていません。

ニックネームが定義されているリモート・オブジェクトの統計データまたは構造特性が変更された場合、 統計情報を更新するには以下の方法があります。
  • 手動による統計収集
    • データ・ソース側で RUNSTATS に相当するものを実行します。 次に、現行のニックネームをドロップし、ニックネームを再作成します。 統計情報を更新する場合は、この方法が推奨されています。

      この方式の利点は、更新された統計に加え、新規索引についての情報またはリモート・オブジェクトの構造の変更が、新規ニックネームに反映されるということです。 このメソッドの欠点は、古いニックネームを基にするビューまたはパッケージは無効になるということです。

    • コマンド行プロセッサーから使用できる SYSPROC.NNSTAT() ストアード・プロシージャーを使用します。

      SYSPROC.NNSTAT() は、ニックネーム統計を更新するだけです。構造の変更をリモート・オブジェクトに一致させるようにニックネームを変更することはありません。例えば、リモート・オブジェクトに新規列がある場合、ニックネーム統計を更新しても、列をニックネームに追加しません。

    • SYSSTAT.TABLES カタログ・ビュー内の統計情報を手作業で更新します。 この方法は、 リモート・データ・ソース上の統計情報が不正または不完全であることが分かっている場合にのみ使用してください。
  • 自動統計収集

    このフィーチャーは、デフォルトで実行され、最新の表およびニックネーム統計を自動的に収集することによってパフォーマンスを向上させます。



フィードバック