首页 > 其他分享 >DM8统计信息介绍

DM8统计信息介绍

时间:2023-09-22 22:34:28浏览次数:41  
标签:STATS 收集 -- GATHER 介绍 信息 DM8 统计

1.适用范围

DM8

2.统计信息概述

统计信息主要是描述数据库中表和索引的大小数以及数据分布状况等的一类信息。比如:表的行数、块数、平均每行的大小、索引的高度、叶子节点数以及索引字段的行数等。

统计信息对于 CBO(基于代价的优化器)生成执行计划具有直接影响。例如在嵌套循环连接(链接)中需要选择小表作为驱动表,两个关联表哪个是小表完全取决于统计信息中记录的数据量信息。此外,访问一个表是否要走索引,关联查询能否采用其它关联方式等都是 CBO 基于统计信息确定的。因此,统计信息的准确是生成最优执行计划的必要前提。

3.收集统计信息

DM 收集统计信息的方法分为手动收集和自动收集。

3.1 手动收集

--收集指定用户下所有表所有列的统计信息:
DBMS_STATS.GATHER_SCHEMA_STATS('OA_TEST',100,TRUE,'FOR ALL COLUMNS SIZE AUTO');

--收集指定用户下所有索引的统计信息:
DBMS_STATS.GATHER_SCHEMA_STATS('usename',1.0,TRUE,'FOR ALL INDEXED SIZE AUTO');
--或 收集单个索引统计信息:
DBMS_STATS.GATHER_INDEX_STATS('OA_TEST','INX_OA_TEST_IP');

--收集指定用户下某表统计信息:
DBMS_STATS.GATHER_TABLE_STATS('OA_TEST','TEST01',null,100,TRUE,'FOR ALL COLUMNS SIZE AUTO');

--收集某表某列的统计信息:
STAT 100 ON table_name(column_name);
STAT 100 ON OA_TEST.TEST01(ID);

注意
统计信息收集过程中将对数据库性能造成一定影响,避免在业务高峰期收集统计信息。

3.2 自动收集

DM 数据库支持统计信息的自动收集,当全表数据量变化超过设定阈值后可自动更新统计信息。

Copy--打开表数据量监控开关,参数值为 1 时监控所有表,2 时仅监控配置表
SP_SET_PARA_VALUE(1,'AUTO_STAT_OBJ',2);

--设置 SYSDBA.T 表数据变化率超过 15% 时触发自动更新统计信息
DBMS_STATS.SET_TABLE_PREFS('SYSDBA','T','STALE_PERCENT',15);

--配置自动收集统计信息触发时机
SP_CREATE_AUTO_STAT_TRIGGER(1, 1, 1, 1,'14:36', '2020/3/31',60,1);

/*
函数各参数介绍
SP_CREATE_AUTO_STAT_TRIGGER(
    TYPE                    INT,    --间隔类型,默认为天
    FREQ_INTERVAL         INT,    --间隔频率,默认 1
    FREQ_SUB_INTERVAL    INT,    --间隔频率,与 FREQ_INTERVAL 配合使用
    FREQ_MINUTE_INTERVAL INT,    --间隔分钟,默认为 1440
    STARTTIME              VARCHAR(128), --开始时间,默认为 22:00
    DURING_START_DATE    VARCHAR(128), --重复执行的起始时间,默认 1900/1/1
    MAX_RUN_DURATION    INT,    --允许的最长执行时间(秒),默认不限制
    ENABLE                  INT     --0 关闭,1 启用  --默认为 1
);
*/

3.3 查看统计信息

--用于经过 GATHER_TABLE_STATS、GATHER_INDEX_STATS 或 GATHER_SCHEMA_STATS 收集之后展示。
dbms_stats.table_stats_show('模式名','表名');

--用于经过 GATHER_TABLE_STATS、GATHER_INDEX_STATS 或 GATHER_SCHEMA_STATS 收集之后展示。 返回两个结果集:一个是索引的统计信息;另一个是直方图的统计信息。
dbms_stats.index_stats_show('模式名','索引名');

–用于经过 GATHER_TABLE_STATS、GATHER_INDEX_STATS 或 GATHER_SCHEMA_STATS 收集之后展示。
dbms_stats.COLUMN_STATS_SHOW('模式名','表名','列名');

3.4 更新统计信息

--更新已有统计信息
DBMS_STATS.UPDATE_ALL_STATS();

3.5 删除统计信息

--表
DBMS_STATS.DELETE_TABLE_STATS('模式名','表名','分区名',...);

--模式
DBMS_STATS.DELETE_SCHMA_STATS('模式名','','',...);

--索引
DBMS_STATS.DELETE_INDEX_STATS('模式名','索引名','分区表名',...);

--字段
DBMS_STATS.DELETE_COLUMN_STATS('模式名','表名','列名','分区表名',...);

标签:STATS,收集,--,GATHER,介绍,信息,DM8,统计
From: https://blog.51cto.com/u_13482808/7572497

相关文章

  • DM8替换license的方法
    1.适用范围DM82.KEY的所在目录默认key在$DM_HOME/bin的目录下,申请key要提供cpu架构和客户名称和数据库版本,key的类型等,如果数据库上有KEY,在数据库的安装目录的bin目录下,把原有的dm.key改为dm.key.bak,将新的license放到安装目录的bin目录下,名字改为dm.key,如果当前版本,原来没有KEY......
  • C++ 的cout.tellp()和cout.seekp()语法介绍
    无论是使用cout输出普通数据,用cout.put()输出指定字符,还是用cout.write()输出指定字符串,数据都会先放到输出流缓冲区,待缓冲区刷新,数据才会输出到指定位置(屏幕或者文件中)。值得一提的是,当数据暂存于输出流缓冲区中时,我们仍可以对其进行修改。ostream类中提供有tellp()和se......
  • # yyds干货盘点 # ChatGPT 实用小案例分享——使用Python重命名附件和统计发票合计金
    大家好,我是皮皮。一、前言前几天在【志军】的星球看到了一个有意思的ChatGPT分享,正好喝Python相关的,一起来看看吧。ChatGPT实用小案例分享。如果你在高德或者滴滴上申请过开票,应该知道它们会给我们发一封邮件,发票和行程单都会放在附件中。由于高德是聚合平台,背后有很多网约车平台,......
  • 关于表单快速开发低代码技术平台的内容介绍
    运用什么样的表单快速开发软件平台可以实现高效率创收?随着科技的进步和飞速发展,专业的低代码技术平台已经走入了很多企业的办公职场中,它们灵活、轻量级、优质、高效、易维护等优势特点,可以高效助力广大企业提质增效,并且利用数据资源,实现流程化办公。什么是低代码技术平台?其实,低代......
  • Python中统计、拷贝等方法的使用
    一、统计方法的使用#coding=utf-8#统计出list中正数和负数的个数list=[1,2,3,-1,-2,-3]#count()函数--统计列表中某个元素出现的次数#print(list.count(2))#len()函数--统计列表长度即列表中的元素总个数#print(len(list))list1=[iforiinlistifi>0]print(l......
  • 软工自我介绍
    学号:102102112;我是王俊凯;我的爱好是打游戏,打篮球,羽毛球等;目前来说我比较推荐丁香园二楼的渔家傲;我最喜欢的歌啊目前来说是Sugar;就是希望每天能进步一点点,然后心情好!(四者以分号分隔,如:0315023xx;我是最酷的黄旭;我的爱好是睡觉;我最喜欢肉末茄子(玫瑰一层);情深深雨蒙蒙;今天没睡够。)......
  • 1.统计出场率最高的三位英雄
    数据库考核文件要求:专业,班级,姓名。例如:计算111张三.md考核标准:格式及内容,请遵守markdown文件的语法。请填写正确的SQL语句,而不仅仅是结果。1统计出场率最高的三位英雄字段要求:英雄名称,出场次数SELECThero英雄名称,COUNT(hero)出场次数FROMmatch_infoGROUPBY英......
  • Day01 - Vue介绍
    前端介绍1HTML(5)、CSS(3)、JavaScript(ES5、ES6、ES11):编写一个个的页面->给后端(PHP、Python、Go、Java)->后端嵌入模板语法->后端渲染完数据->返回数据给前端->在浏览器中查看2Ajax的出现->后台发送异步请求,Render+Ajax混合3单用Ajax(加载数据,DOM渲染页面):......
  • 串口通信介绍
    串口通信简介串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并......
  • 041802114金晶的自我介绍~
    我的学号041802114;我是退役大学生士兵金晶,在部队是一名医疗救护员;我的爱好是运动还有看书;推荐紫荆园二楼的漳州鸭面;最近常听的歌我推荐一首lauv的《parisintherain》;想要说些什么呢,那就是“勇敢的人先享受世界”......