| PostgreSQL 7.4 文檔 | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 43. 系統表 | Fast Forward | Next |
視圖 pg_stats 提供對存儲在 pg_statistic 表裡面的信息的訪問。這個視圖允許我們只訪問那些在 pg_statistic 裡面對應用戶有權限讀取的表的數據行,因此我們可以安全地允許公眾訪問這個視圖。
pg_stats 也設計成把信息以一種更易讀的方式 出現的形式,它比下層的系統表更容易閱讀--代價就是如果在 pg_statistic 裡定義了新的數據槽位,那麼我們必須擴展它的視圖定義。
Table 43-35. pg_stats 字段
| 名字 | 類型 | 引用 | 描述 |
|---|---|---|---|
| schemaname | name | pg_namespace.nspname | 包含此表的模式名字 |
| tablename | name | pg_class.relname | 表的名字 |
| attname | name | pg_attribute.attname | 這一行描述的字段的名字 |
| null_frac | real | 記錄中字段為空的百分比 | |
| 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 的時候,在字段上的索引掃描將被認為 比它接近零的時候開銷更少,因為減少了對磁盤的隨機訪問。 (如果字段數據類型沒有 < 操作符,那麼這個字段為 NULL。) |
在 most_common_vals 和 histogram_bounds 數組裡 的元素的最大數目可以用 ALTER TABLE SET STATISTICS 命令一個一個字段 地設置,或者通過設置運行時環境變量 default_statistics_target 全局地設置。