人大金仓KingbaseES拓展统计信息系统表

KingbaseES拓展统计信息系统表

关键字:

优化器、拓展统计信息、系统表、人大金仓、KingbaseES、

一、摘要

本文介绍了KingbaseES数据库拓展统计信息系统表SYS_STATISTIC_EXT。

KingbaseES拓展数据库统计信息系统表

目前,拓展统计信息存储多列统计信息相关内容,分为拓展统计信息元数据(sys_statistic_ext)和拓展统计信息数据(sys_statistic_ext_data)。其中,拓展统计信息元数据系统表,存储了多列统计信息的元信息,包括统计的类型和统计的列。拓展统计信息数据系统表,存储了通过ANALYZE分析,得到的具体的统计信息数据,未来用于优化器的行数估计。

拓展统计信息元数据表的描述如下图所示。

图 sys_statistic_ext系统表

其中,stxoid为多列统计对象的oid。stxrelid为统计对象对应的表的oid。Stxname为统计对象的名称。stxnamespace为统计信息对象所在的名字空间的oid。stxowner为创建该统计对象的用户的oid。stxkeys为该统计信息所涉及的列的编号数组。stxkind为该统计信息对应的多列统计类型的char数组,为共有三种,每一个字符对应一种类型。

拓展统计信息数据表的描述如下图所示。

图 sys_statistic_ext_data系统表

其中,stxoid对应sys_statistic_ext表的oid,即多列统计对象的oid。stxdndistinct为STATS_EXT_NDISTINCT类型的统计信息数据,它使用了一个类似数组的表达形式,其每一个元素的格式为:{"列号1,列号2":去掉重复值之后的数量(包含NULL)}。stxddependencies为STATS_EXT_DEPENDENCIES类型表示的是多列之间的函数依赖度,所谓函数依赖(functional dependency),是对一个表上的两个列(属性)进行描述的一种方法:如果对于X属性中的每一个值在Y属性上有且只有一个和它一一对应的值,那么Y对X满足函数依赖关系,记做X->Y; 主键的特性满足:"一一对应"和"有且只有。 实际上,很多属性列之间并不严格满足函数依赖关系,因此对于多列统计信息,KES采取的方式是建立一种"SOFT"的函数依赖关系,记录的是一个“函数依赖度”,即两个属性之间满足函数依赖的值占总体数量的比例。使用了一个类似数组的表达形式,其每一个元素的格式为: {"列号1 => 列号2" : 函数依赖比例}。stxdmcv为STATS_EXT_MCV类型表示多列的MCV最频值,它保存的是序列化后的多列MCV数据, 序列化前对应的数据结构为MCVList,多列的多个MCV字面值(value)和出现比例(frequency)保存在MCVList->items[ ]数组元素里,而该数组的元素类型为MCVItemt。

参考文档:

KingbaseES V8用户手册

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值