GaussDB-GS_STATISTIC_EXT_HISTORY

51 阅读3分钟

GaussDB-GS_STATISTIC_EXT_HISTORY

GS_STATISTIC_EXT_HISTORY是多列历史统计信息管理表,存储有关该数据库中表的历史扩展统计数据,包括多列统计数据和表达式统计数据(后续支持)。该表在分布式下可见不可用。

名称类型描述
starelidoid所描述字段所属的表或者索引。
starelkind"char"所属对象的类型,'c'表示表,'p'表示分区。
stainheritboolean是否统计有继承关系的对象。
statimestamptimestamp with time zone该条统计信息收集的时间。
stanullfracreal所描述字段中为NULL的记录的比率。
stawidthinteger所描述字段非NULL记录的平均存储宽度,以字节计。
stadistinctreal标识全局统计信息中数据库节点上字段里唯一的非NULL数据值的数目。- 一个大于零的数值是独立数值的实际数目。
  • 一个小于零的值是distinct值所占总行数的比例,比如stadistinct=-0.5时,它的实际distinct值是总行数*0.5。
  • 零值表示独立数值的数目未知。 | | stadndistinct | real | 标识DN1上字段里唯一的非NULL数据值的数目。- 一个大于零的数值是独立数值的实际数目。
  • 一个小于零的值是distinct值所占总行数的比例,比如stadndistinct=-0.5时,它的实际distinct值是总行数*0.5。
  • 零值表示独立数值的数目未知。 | | standvfunc | "char" | 该条统计信息计算NDV时采用的算法。- d:采用原来的DUJ1算法估算。
  • c:采用C19算法估算。 | | staorigin | "char" | 该条统计信息的收集方式来源。- a:标识由autoanalyze触发收集。
  • m:标识由手动analyze触发收集。
  • g:标识由插入大量数据触发了gsstat线程做analyze收集。 | | stakindN | smallint | 一个编码,表示这种类型的统计存储在pg_statistic行的第N个“槽位”。N的取值范围:1~5。 | | staopN | oid | 一个用于生成这些存储在第N个“槽位”的统计信息的操作符。比如,一个柱面图槽位会显示<操作符,该操作符定义了该数据的排序顺序。N的取值范围:1~5。 | | stakey | int2vector | 所描述的字段编号的数组。 | | stanumbersN | real[] | 第N个“槽位”的相关类型的数值类型统计,如果该槽位和数值类型没有关系,则就是NULL。N的取值范围:1~5。 | | stavaluesN | anyarray | 第N个“槽位”类型的字段数据值,如果该槽位类型不存储任何数据值,则就是NULL。每个数组的元素值实际上都是指定字段的数据类型,因此,除了把这些字段的类型定义成anyarray之外,没有更好的办法。N的取值范围:1~5。 | | staexprs | pg_node_tree | 扩展统计信息对应的表达式。 | | stasource | "char" | 扩展统计信息的来源:- 'a':表示自动创建,由GUC参数auto_statistic_ext_columns控制。
  • 'm':表示手动创建,用户通过 analyze tablename ((column list)) 或者 alter table tablename add statistics ((column list)) 来创建。 | | stastatus | "char" | 扩展统计信息的状态。- 'a':表示活跃可用。
  • 'd':表示被禁用,相关信息不被收集,优化器在生成计划的时候也不使用。用户可以使用语法 alter table tablename disable/enable statistics((column list)) 来修改扩展统计信息的状态。 | | staextname | name | 多列统计信息多列组的别名。 |

更多详情请参考GaussDB 文档中心:doc.hcs.huawei.com/db/zh-cn/ga…