目录pg_statistic
存储有关数据库内容的统计数据。其中的项由ANALYZE创建,查询规划器会使用这些数据来进行查询规划。注意所有的统计数据天然就是近似的,即使它刚刚被更新。
通常对于数据表中一个已经被 ANALYZE 过的列,在本目录中会存在一个stainherit
= false
的项。如果该列所在的表具有后代(即有其他表继承该表),对于该列还会创建第二个stainherit
= true
的项。stainherit
=
true
的项表示列在整个继承树上的统计数据,即通过SELECT
看到的数据的统计,而column
FROM table
*stainherit
= false
的项表示对SELECT
的结果的统计。column
FROM ONLY table
pg_statistic
也存储关于索引表达式值的统计数据,就好像它们是真正的数据列,但在这种情况中starelid
指索引。对一个普通非表达式索引列不会创建项,因为它将是底层表列的项的冗余。当前,索引表达式的项都具有stainherit
= false
。
因为不同类型的统计信息适用于不同类型的数据, pg_statistic
被设计成不太在意自己存储的是什么类型的统计。 只有极为常用的统计信息(比如NULL的含量)才在pg_statistic
里给予专用的字段。 其它所有东西都存储在“槽位”中,而槽位是一组相关的列, 它们的内容用槽位中的一个列里的代码表示。
更详细的信息请参阅 src/include/catalog/pg_statistic.h
。
pg_statistic
不应该是公共可读的,因为即使是一个表内容的统计性信息也可能被认为是敏感的(例子:一个薪水列的最大和最小值可能是非常有趣的)。pg_stats
是pg_statistic
上的一个公共可读的视图,它只会显示出当前用户可读的表的信息。
表 51.49. pg_statistic
Columns
列类型 描述 |
---|
被描述列所属的表或索引 |
被描述列的编号 |
如果为真,统计包含了继承后代的列而不仅仅是指定关系的列 |
列的项为空的比例 |
非空项的平均存储宽度,以字节计 |
列中非空唯一值的数目。一个大于零的值是唯一值的真正数目。 一个小于零的值是表中行数的乘数的负值;例如,对于一个 80% 的值为非空且每个非空值平均出现两次的列,可以表示为 |
一个代码,它表示存储在该 |
一个用于生成这些存储在第 |
排序规则用于导出存储在第 |
第 |
第 |
pg_ts_config目录包含表示文本搜索配置的选项。一个配置指定了一个特定的文本搜索分析器和一个用于分析器输出记号的字典列表。分...
中文配置VIM配置件2016-07-11是否兼容VI,compatible为兼容,nocompatible为不完全兼容如果设置为compatible,则tab将不会变成空...
为了避免结构体默认值带来的困惑,从goframev2.0版本开始,我们增加了一个Assoc方法,用于结构体校验时严格按照给定的参...
baggage链路数据传递示例代码地址:https://github.com/gogf/gf/tree/master/example/trace/http客户端package mainimport ("git...