DBMS_STATS分析表 (zt) dbms_stats.set_table_stats 手工设置统计信息

2023-11-14

作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息.

DBMS_STATS.GATHER_TABLE_STATS的语法如下:

DBMS_STATS.GATHER_TABLE_STATS (ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER,   block_sample BOOLEAN, method_opt VARCHAR2, degree NUMBER, granularity VARCHAR2, cascade BOOLEAN, stattab VARCHAR2, statid VARCHAR2,   statown VARCHAR2,   no_invalidate BOOLEAN, force BOOLEAN);

参数说明:

ownname:要分析表的拥有者

tabname:要分析的表名.

partname:分区的名字,只对分区表或分区索引有用.

estimate_percent:采样行的百分比,取值范围[0.000001,100],null为全部分析,不采样. 常量:DBMS_STATS.AUTO_SAMPLE_SIZE是默认值,由oracle决定最佳取采样值.

block_sapmple:是否用块采样代替行采样.

method_opt:决定histograms信息是怎样被统计的.method_opt的取值如下:

for all columns:统计所有列的histograms.

for all indexed columns:统计所有indexed列的histograms.

for all hidden columns:统计你看不到列的histograms

for columns <list> SIZE <N> | REPEAT | AUTO | SKEWONLY:统计指定列的histograms.N的取值范围[1,254]; REPEAT上次统计过的histograms;AUTO由oracle决定N的大小;SKEWONLY multiple end-points with the same value which is what we define by "there is skew in the data

degree:决定并行度.默认值为null.

granularity:Granularity of statistics to collect ,only pertinent if the table is partitioned.

cascace:是收集索引的信息.默认为falase.

stattab指定要存储统计信息的表,statid如果多个表的统计信息存储在同一个stattab中用于进行区分.statown存储统计信息表的拥有者.以上三个参数若不指定,统计信息会直接更新到数据字典.

no_invalidate: Does not invalidate the dependent cursors if set to TRUE. The procedure invalidates the dependent cursors immediately if set to FALSE.

force:即使表锁住了也收集统计信息.

例子:

execute dbms_stats.gather_table_stats(ownname => 'owner',tabname => 'table_name' ,estimate_percent => null ,method_opt => 'for all indexed columns' ,cascade => true);

例如:

在使用DBMS_STATS分析表的时候,我们经常要保存之前的分析,以防分析后导致系统性能低下然后进行快速恢复。

1、首先创建一个分析表,该表是用来保存之前的分析值:

SQL> begin
2 dbms_stats.create_stat_table(ownname=>'TEST',stattab=>'STAT_TABLE');
3 end;
4 /

PL/SQL 过程已成功完成。

SQL> begin
2 dbms_stats.gather_table_stats(ownname=>'TEST',tabname=>'T1');
3 end;
4 /

PL/SQL 过程已成功完成。


2、导出表分析信息到stat_table中

SQL> begin
2 dbms_stats.export_table_stats(ownname=>'TEST',tabname=>'T1',stattab=>'STAT_TABLE');
3 end;
4 /

PL/SQL 过程已成功完成。

SQL> select count(*) from TEST.STAT_TABLE;

COUNT(*)
----------
         4

EXPORT_COLUMN_STATS:导出列的分析信息 
EXPORT_INDEX_STATS:导出索引分析信息 
EXPORT_SYSTEM_STATS:导出系统分析信息 
EXPORT_TABLE_STATS:导出表分析信息 
EXPORT_SCHEMA_STATS:导出方案分析信息 
EXPORT_DATABASE_STATS:导出数据库分析信息 
IMPORT_COLUMN_STATS:导入列分析信息 
IMPORT_INDEX_STATS:导入索引分析信息 
IMPORT_SYSTEM_STATS:导入系统分析信息 
IMPORT_TABLE_STATS:导入表分析信息 
IMPORT_SCHEMA_STATS:导入方案分析信息 
IMPORT_DATABASE_STATS:导入数据库分析信息 
GATHER_INDEX_STATS:分析索引信息 
GATHER_TABLE_STATS:分析表信息,当cascade为true时,分析表、列(索引)信息 
GATHER_SCHEMA_STATS:分析方案信息 
GATHER_DATABASE_STATS:分析数据库信息 
GATHER_SYSTEM_STATS:分析系统信息

4、删除分析信息

SQL> begin
2 dbms_stats.delete_table_stats(ownname=>'TEST',tabname=>'T1');
3 end;
4 /

PL/SQL 过程已成功完成。

SQL> SELECT num_rows,blocks,empty_blocks as empty, avg_space, chain_cnt, avg_row_len FROM dba_tables WHERE owner = 'TEST'
AND table_name = 'T1';

NUM_ROWS     BLOCKS      EMPTY AVG_SPACE CHAIN_CNT AVG_ROW_LEN
---------- ---------- ---------- ---------- ---------- -----------

没有查到分析数据


5、导入分析信息

SQL> begin
2 dbms_stats.import_table_stats(ownname=>'TEST',tabname=>'T1',stattab=>'STAT_TABLE');
3 end;
4 /

PL/SQL 过程已成功完成。

SQL> SELECT num_rows,blocks,empty_blocks as empty, avg_space, chain_cnt, avg_row_len FROM dba_tables WHERE owner = 'TEST'
AND table_name = 'T1';

NUM_ROWS     BLOCKS      EMPTY AVG_SPACE CHAIN_CNT AVG_ROW_LEN
---------- ---------- ---------- ---------- ---------- -----------
      1000          5          0          0          0          16
可以查到分析数据

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DBMS_STATS分析表 (zt) dbms_stats.set_table_stats 手工设置统计信息 的相关文章

随机推荐

  • Faster-RCNN算法详解

    Faster CNN结构图 以下是Faster RCNN的结构图 上图中的目标检测包含了包括region proposal 生成ROI feature extraction 特征提取网络 classification ROI分类 regre
  • 有C++基础如何直接上手QT?

    文章目录 一 QT的发展 二 支持平台 三 QT的版本 四 QT的安装与下载 五 QT的优点 六 创建Qt项目 6 2 手动创建 6 3 pro 文件 七 一个简单的Qt应用程序 一 QT的发展 1991年 Qt最早由奇趣科技开发 1996
  • h5第三方登录—微信登录

    第一步 用户同意授权 获取code 第二步 通过code换取网页授权access token 第三步 刷新access token 如果需要 第四步 拉取用户信息 需scope为 snsapi userinfo 检验授权凭证 access
  • 论文阅读_变分自编码器_VAE

    英文名称 Auto Encoding Variational Bayes 中文名称 自编码变分贝叶斯 论文地址 http arxiv org abs 1312 6114 时间 2013 作者 Diederik P Kingma 阿姆斯特丹大
  • 硬盘故障时如何强制关机:Input/output error

    如果硬盘可能会出现锁死或坏道的故障 会造成SHELL命令的失效 包括 reboot powoff shutdown 用正常的命令是没法完成重启的 执行这些命令 会出现如下IO报错 reboot bash sbin reboot Input
  • 【微信小程序-0基础入门】项目发布完整流程

    写在前面 上一节讲述了小程序的相关介绍以及账号注册 这一节讲述小程序发布的具体流程 目录 安装开发者工具 小程序项目发布流程 小程序代码的构成 项目结构 1 了解项目的基本组成结构 2 小程序页面的组成部分 小程序代码的构成 JSON 配置
  • Unity游戏开发之游戏动画(模型动画制作及导入)

    一 简单制作3D角色 在stream中下载Fuse软件 在Fuse中制作人物 导出模型为OBJ格式 注意 这里导出目录必须为英文路径 否则只能导出空的OBJ文件 压缩Obj文件为zip格式 打开Mixamo网站 https www mixa
  • 以“信”数智,筑“广”生态:亚信科技CEO高念书受邀出席中国广电数字化赋能大会

    6月30日 由国家广播电视总局指导 中国广电集团主办的中国广电数字化赋能大会在京召开 国家广播电视总局党组成员 副局长杨小伟 工信部总工程师赵志国 中国移动党组成员 副总经理高同庆等出席会议并致辞 中广电移动网络有限公司董事长宋起柱作主题报
  • Golang 程序测试框架

    注意事项 测试用例文件名必须以 test go结尾 如 person test go 测试用例函数必须以Test开头 比如person test go文件中的TestReStore 测试函数的形参必须是t testing T 一个测试用例文
  • stm32(SCCB)+ov7670摄像头输出图像程序

    一 简介 OV7670一般模块指低成本数字输出CMOS摄像头 其摄像头包含30w像素的CMOS图像感光芯片 3 6mm焦距的镜头和镜头座 板载CMOS芯片所需要的各种不同电源 电源要求详见芯片的数据文件 板子同时引出控制管脚和数据管脚 方便
  • 版本号比较 [java]

    原文地址 java版本号比较 思路 将版本号按点分割 并转成数字类型 放入list 取两个版本位数的最大数 如 1 0 1为3位 1 0 0 1为4位 将位数不够的版本进行补全 不够部分补成0 从第一位开始比较 出现大于情况返回1 出现小于
  • 为什么米聊干不过微信

    1 核心功能不稳定 2 广播太多用户体验差 3 取名太局限 4 发展新朋友能力有限 5 运营能力差
  • C++set容器set和multiset区别

    C set容器set和multiset区别 学习目标 掌握set和multiset的区别 区别 set不可以插入重复数据 而multiset可以 set插入数据的同时会返回插入结果 表示插入是否成功 multiset不会检测数据 因此可以插
  • QT 自定义信号和槽

    好久没有静下心来思考了 每天靠工作驱动 忙碌但不踏实 QT信号与槽机制一直在用 也会用 但只是知其然不知其所以然 今天临近下班给自己点清醒的时间 详细了解了下 总结如下 信号与槽机制是QT中不同对象相互通信的一种方法 有两种写法 第一种是S
  • Cassandra创建键空间(Keyspace)

    Cassandra查询语言 CQL 可帮助开发人员与Cassandra沟通交互 Cassandra查询语言的语法与SQL非常相似 什么是键空间 Keyspace 键空间 Keyspace 是用于保存列族 用户定义类型的对象 键空间 Keys
  • ios 超签签名服务器搭建(超签)

    为什么要搭建签名服务器吗 因为应用不能上架App Store 使用企业签名频繁掉签造成客户流失 用户体验不好 ios安装的app有几种方式吗 1 App Store 安装 符合法律法规的能走app Store的app 2 企业签名安装 灰色
  • Paxos算法细节详解(一)--通过现实世界描述算法

    Paxos算法细节详解 一 通过现实世界描述算法 Paxos分析 最近研究paxos算法 看了许多相关的文章 概念还是很模糊 觉得还是没有掌握paxos算法的精髓 所以花了3天时间分析了libpaxos3的所有代码 此代码可以从https
  • SpringBoot_5

    SpringBoot对静态资源的映射规则 如果我们需用给web项目中添加css js html文件的话 我们会发现此时没有webapp目录 由于springboot是以jar包的方式打包程序的因此是没有webapp目录的 那么我们的css
  • VMware虚拟机从一台电脑复制到另一台电脑

    在一台电脑上利用虚拟机创建了centos 如果想在家里的电脑虚拟机上也运行centos 不用再重新安装以及漫长的安装等待了 可以利用先前在虚拟机上安装centos生成的 vmx文件和 vmdk文件 拷贝到U盘 再重新导入到新电脑就可以了 省
  • DBMS_STATS分析表 (zt) dbms_stats.set_table_stats 手工设置统计信息

    作用 DBMS STATS GATHER TABLE STATS统计表 列 索引的统计信息 DBMS STATS GATHER TABLE STATS的语法如下 DBMS STATS GATHER TABLE STATS ownname V