無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

47.68. pg_stats

pg_stats ビューは pg_statistic カタログの情報にアクセスするためのビューです。 このビューは、ユーザが読み込み権限を持つテーブルに一致する pg_statistic の行に対してのみアクセスを許可しています。 よって、このビューに対して一般に読み込みを許可しても安全です。

pg_stats も、その基礎となっているカタログよりも、より読みやすい書式で情報を提供するように設計されています。 しかし、これは、もし pg_statistic に対して新しいスロット型が定義されるたびに、スキーマが拡張されなくてはならない、という犠牲を払っています。

表 47-69. pg_stats の列

名前 参照先 説明
schemaname name pg_namespace .nspname テーブルを持つスキーマ名
tablename name pg_class .relname テーブル名
attname name pg_attribute .attname この行が記述する列名
inherited bool   真の場合、この行には指定されたテーブルの値だけではなく、継承関係の子の列が含まれます。
null_frac real   NULLとなっている列項目の割合
avg_width integer   列項目のバイト単位による平均幅
n_distinct real   ゼロより大きい値は列内の個別値の推定数です。 ゼロより小さければ行数で個別値を割算した数字の負数です。 (テーブルが肥大するにつれ固有値の増大があり得ると ANALYZE が判断した場合に負変換形式が使われます。 正変換形式は列の取り得る値が固定数を持つと思われる場合に使用されます)。 例えば-1は個別値の数が行数と等しいような、一意な列を表します。
most_common_vals anyarray   列の中の最も共通した値のリストです(他の値よりもより共通している値がない場合はNULLとなります)。
most_common_freqs real[]   最も一般的な値の出現頻度のリストで、つまり行の総数で出現数を割算した数字です( most_common_vals がNULLの時はNULLとなります)。
histogram_bounds anyarray   列の値を満遍なく似たような数でグループに分配した値のリストです。 most_common_vals の値がもし存在すればこの度数分布計算は行われません (列データ型が < 演算子を所有しない場合、もしくは most_common_vals が全体の構成要素アカウントをリストしている場合、この列はNULLとなります)。
correlation real   物理的な[訳注:ディスク上の]行の並び順と論理的な列の値の並び順に関する統計的相関です。 この値は-1から+1の範囲です。 値が-1もしくは+1の近辺にある時、ディスクにランダムアクセスする必要が少なくなるためこの列に対してのインデックススキャンは0近辺にある場合に比較して安価であると推定されます (列データ型に < 演算子がない場合、この列はNULLとなります)。
most_common_elems anyarray   列の値の中で最もよく出現する非NULLの要素値のリストです。(スカラ型の場合はNULLです。)
most_common_elem_freqs real[]   最も一般的な要素値の出現頻度のリストで、与えられた値の少なくとも1つのインスタンスを含む行の断片です。 2つもしくは3つの追加の値が1つの要素ごとの出現頻度に続きます。 最小で最大の要素ごとの出現頻度があります。さらにオプションとしてNULL要素の出現頻度もあります。 ( most_common_elems の場合はNULLになります。)
elem_count_histogram real[]   列の値でNULLではない要素値の個別数のヒストグラム。これは個別のNULLではない平均値が後に続きます。(スカラ型の場合はNULLです。)

配列の最大項目数は ALTER TABLE SET STATISTICS コマンドで列ごとに設定されるか、 もしくは default_statistics_target 実行時パラメータで包括的に設定されるかのいずれかです。


powered by SEO.CUG.NET