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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » システム・オブジェクト » システム・プロシージャ » システム・プロシージャのアルファベット順リスト

 

sa_get_histogram システム・プロシージャ

カラムのヒストグラムを取り出します。

構文
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) パラメータ。

結果セット
カラム名 データ型 説明
StepNumber SMALLINT ヒストグラムのバケット番号。最初のバケット (StepNumber = 0) の頻度は、NULL の選択性を示します。
Low CHAR(128) バケット内の最も低いカラム値 (その値を含む)。
High CHAR(128) バケット内の最も高いカラム値 (その値を含まない)。
Frequency DOUBLE バケット内の値の選択性。
備考

このプロシージャは、内部診断を目的としており、指定したカラムのデータベース・サーバからカラム統計を取り出します。この統計が ISYSCOLSTAT システム・テーブルに永続的に格納されている場合、サーバの実行中に統計はメモリに保持され、定期的に ISYSCOLSTAT に書き込まれます。この結果、sa_get_histogram システム・プロシージャが返す統計情報は、任意の時点で ISYSCOLSTAT から選択して取得した情報とは異なります。

sa_flush_statistics システム・プロシージャを使用してメモリに保存されている最新の統計情報で ISYSCOLSTAT を手動で更新できます。ただし、この方法は運用環境では推奨されません。診断目的でのみ使用してください。sa_flush_statistics システム・プロシージャを参照してください。

単一バケットは、結果セット内の Low 値が対応する High 値と等しいことで示されます。

ヒストグラム・ユーティリティを使用して、ヒストグラムを表示することをおすすめします。ヒストグラム・ユーティリティ (dbhist)を参照してください。

文字列カラムに対する述部の選択性を決定するには、ESTIMATE 関数または ESTIMATE_SOURCE 関数を使用します。文字列カラムに対して、sa_get_histogram とヒストグラム・ユーティリティが ISYSCOLSTAT システム・テーブルから取り出すものはありません。文字列データを取り出そうとすると、エラーが発生します。ESTIMATE 関数 [その他]ESTIMATE_SOURCE 関数 [その他]を参照してください。

たとえば、統計が最近削除された場合は、テーブルまたはマテリアライズド・ビューに対する統計 (ヒストグラムを含む) が存在しないことがあります。この場合、sa_get_histogram システム・プロシージャの結果セットは空です。テーブルまたはマテリアライズド・ビューの統計を作成するには、CREATE STATISTICS 文を実行します。CREATE STATISTICS 文を参照してください。

パーミッション

DBA 権限が必要です。

関連する動作

なし

参照

たとえば、次の文は、SalesOrderItems テーブルの ProductID カラムのヒストグラムを取り出します。

CALL sa_get_histogram( 'ProductID', 'SalesOrderItems' );