kingbase v8r6 统计信息与数据字典

统计信息收集器(statistics collector),
对数据库的配置,运行,资源使用情况等各方面进行信息的获取,然后汇总相关结果
并进行定期发布。(以sys_stat_前缀的相关视图)
1.统计信息存放位置
ls -lrth /xx/xx/kdata |grep -i stat
grep stats_temp_directory /xx/xx/kingbase.conf
数据库运行时的统计信息,默认位于sys_stat_tmp路径下
数据库停止后,统计信息日志存放于sys_stat路径下

一条SQL语句在数据库中经历的过程
1.通过客户端应用程序,生成相关的SQL语句
2.解析器将获取的文本SQL进行语法分析,生成语法解析树
3.分析器将语法解析树进行语义分析,生成查询树
4.如果需要,重写器将sql进行重写,如视图等
5.计划器根据数据库相关统计信息,根据查询树估算各路代价,生成成本最优的计划树
6.执行器按照计划树进行执行,获取相关的数据,并进行返回给客户端。

统计信息记录了什么?
除系统本身使用的表不需要记录统计信息
表自身的信息:行数,行长,数据块数等信息
列的信息:列值的重复数,列上的空值,数据在列上的分布情况
索引的信息:索引块的数量,索引的深度,索引的聚合因子等

统计信息记录的位置
\d sys_class
select distinct relkind from sys_class
c 复合类型  --自定义数据类型
t toast表   
s 序列
i 索引
r 普通表
v 视图
m 物化视图
f 外部表

2 autovacuum负责统计信息的更新
autovacuum线程不止负责对过期元组进行清理,同时也负责定期更新表的统计信息

3.何时触发统计信息
用户使用analyze命令手动触发(analyze/vacuum analyze)
daemon进程触发,

4.如何记录统计信息
确定这个字段是否可以分析,如不可以,返回null
获取数据类型,并决定针对该类型的采样数据量和统计函数
索引 当analyze没有指定字段,或是继承表的时候
采样,选择表所有字段所需采样数据量的最大值作为最终采样的数据量

5.统计信息收集及调试
grep defualt_statistics_target /xx/xx/kdata/kingbase.conf
show default_statistics_target;

关于autovacuum参数

vacuum verbose tab_name 回收垃圾空间
analyze varbose tab_name 分析表

6 统计信息相关表和视图
1.1 系统表和视图
\d sys_class
\d sys_namespace
sys_statistic 关于数据库对象的统计信息
sys_stats 指向sys_statistic表的视图

1.2 数据库内置对象尺寸函数
列值占用的字节数
sys_column_size(ename)
指定数据库的磁盘空间占用
\d sys_database
指定表空间的磁盘空间占用
\db
select sys_tablespace_size('SYS_DEFAULT'),sys_size_pretty(sys_tablespace_size('SYS_DEFAULT'));
指定表和索引的磁盘空间占用
\d sys_class
获取函数的定义信息
select oid,proname from sys_proc where proname like 'sys_get_fu%';
select sys_get_functiondef(oid)
获取视图的定义信息
\d+ sys_stat_user_functions


7.收集统计信息
表的统计信息
索引统计信息
通常将索引idx_scan使用次数少的索引定为关注对象,决定是否进行清理。

7.1 连接及活动
select count(*) from sys_stat_activity where not pid=sys_backend_pid();
\d sys_stat_activity

7.2 空间信息
表的空间占用情况
跟踪后台进程
\d sys_stat_bgwriter
归档进程
\d sys_stat_archive
清理进程
\d sys_stat_progress_vacuum

8.数据库范围内总计
关于sys_stat_database的定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值