Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
カラムのヒストグラムを取得します。
sa_get_histogram( col_name , tbl_name [, owner_name ] )
col_name ヒストグラムを取得する対象のカラムを指定する CHAR(128) パラメータ。
tbl_name col_name があるテーブルを指定する CHAR(128) パラメータ。
owner_name tbl_name の所有者を指定する任意の CHAR(128) パラメータ。デフォルトは NULL です。
このプロシージャは、内部診断を目的としており、指定したカラムのデータベースサーバからカラム統計を取り出します。この統計が ISYSCOLSTAT システムテーブルに永続的に格納されている場合、サーバの実行中に統計はメモリに保持され、定期的に ISYSCOLSTAT に書き込まれます。この結果、sa_get_histogram システムプロシージャが返す統計情報は、任意の時点で ISYSCOLSTAT から選択して取得した情報とは異なる場合があります。
sa_flush_statistics システムプロシージャを使用してメモリに保存されている最新の統計情報で ISYSCOLSTAT を手動で更新できます。ただし、この方法は運用環境では推奨されません。診断目的でのみ使用してください。
単一バケットは、結果セット内の Low 値が対応する High 値と等しいことで示されます。
ヒストグラムユーティリティを使用して、ヒストグラムを表示することをおすすめします。
文字列カラムに対する述部の選択性を決定するには、ESTIMATE 関数または ESTIMATE_SOURCE 関数を使用します。文字列カラムに対して、sa_get_histogram とヒストグラムユーティリティが ISYSCOLSTAT システムテーブルから取り出すものはありません。文字列データを取り出そうとすると、エラーが発生します。
たとえば、統計が最近削除された場合は、テーブルまたはマテリアライズドビューに対する統計 (ヒストグラムを含む) が存在しないことがあります。この場合、sa_get_histogram システムプロシージャの結果セットは空です。テーブルまたはマテリアライズドビューの統計を作成するには、CREATE STATISTICS 文を実行します。
MANAGE ANY STATISTICS システム権限が必要です。
なし。
たとえば、次の文は、SalesOrderItems テーブルの ProductID カラムのヒストグラムを取り出します。
CALL sa_get_histogram( 'ProductID', 'SalesOrderItems' );