管理の手引き


第 24 章 システム・カタログ統計

SQL 照会を最適化するとき、 SQL コンパイラーの下す決定は、 データベースの内容の最適化プログラムのモデルによって大きく影響を受けます。 このデータ・モデルは、最適化プログラムが、 特定の照会を解決するのに使用できる代替アクセス・パスのコストを見積もるのに使用されます。

データ・モデルの中でかぎとなる要素は、 データベースに含まれるデータに関して収集された統計のセットであり、 それはシステム・カタログ表に保管されます。 それには、表、ニックネーム、索引、列、 およびユーザー定義関数 (UDF) の統計が含まれます。 データ統計に変更があると、 希望するデータにアクセスするための最も効率的な方法として選択されたアクセス・プランの選択も変更される可能性があります。

最適化プログラムに対してデータ・モデルを定義するために使われる統計の例としては、 次のようなものがあります。

システム・カタログ内でオブジェクトの統計が更新されるのは、 明示的に要求があった場合だけです。 統計の一部または全部は、次のようにして更新できます。

連合データベース・システムの場合、 データ・ソースからニックネームの新しい統計を収集するには、ニックネームを除去し、 データ・ソースで RUNSTATS と等価のユーティリティーを実行してから、 ニックネームを再作成するという方法しかありません。 ニックネームが作成される度に、 基礎表上の統計がデータ・ソース・カタログから収集されます。

基礎表の中のデータ定義が変更された場合は、 ニックネームを除去して再作成する必要があります。 たとえば、表定義に列が追加された場合などです。

さらに、照会パフォーマンスが低下する場合にもニックネームの再作成を考慮する必要があります。 別の方法として、SYSSTAT.TABLES の中の統計を手操作で更新することもできます。

視点のニックネームを作成するときは注意してください。 ニックネームが戻す行数などの統計情報は、 この視点の評価にかかる実際のコストを反映していないことがあります。 SELECT リスト上で列関数が適用されていない単一の基礎表上に視点が定義されている場合、 最適化プログラムが利用できる統計情報は正確です。 複合視点の場合は、 最適化プログラムがデータにアクセスする効率的なプランを立てることができるように、 連合データベース・システム内の DB2 ユニバーサル・データベースで、 視点基礎表のニックネームに対して新しい視点を作成することを考慮してください。

追加情報:

SYSCAT カタログと SYSSTAT カタログには、収集される統計に関する情報が入ります。 SQL 解説書 を参照してください。


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