Oracle9i之前,由DBA负责收集对象统计信息。默认情况下,数据库不提供对象统计信息。到了oracle10g,在创建数据库的时候,就创建

一. 概述

Oracle9i之前,由DBA负责收集对象统计信息。默认情况下,数据库不提供对象统计信息。到了oracle10g,在创建数据库的时候,就创建了一个定期收集对象统计信息的作业并进行调度。以便拥有最新的对象统计信息,因为表时刻都在变化,假如某一时刻插入了数据,对象统计信息也需要更新的。

二. 收集对象

oracle是用工具包dbms_stats来收集统计信息,根据不同的用途,收集对象也不相同。可以针对整个数据库,数据字典,用户或者单个表,索引进行收集。如下所示:

gather_database_stats:收集数据库对象统计信息

gather_dictionary_stats:收集数据字典对象统计信息

gather_schema_stats:收集整个模式的所有对象统计信息

gather_table_stats:收集表的对象统计信息

gather_index_stats:收集索引的对象统计信息

三. 参数说明

针对不同的收集对象,有不同的参数,如下图:

参数可以被分为3类:指明目标对象,指明收集选项和指明覆盖当前统计信息之前是否备份

1. 目标对象

用来指定要收集统计信息的对象。

ownname:模式名称(也就是用户名)

indname:索引名称

tabname:表名称

partname:分区或者子分区名称,不指定的话收集所有分区,默认为null

comp_id:组件ID

granularity:分区对象的统计级别,可接受值如下图,到oracle9i为止,默认值为default,从oracle10g开始默认值为auto

cascade:是否收集索引的统计信息,可接受true,false和dbms_stats.auto_cascade(一个常量,取值为null,意思是让数据库引擎决定是否收集)。oracle9i之前默认值为false,从oracle10g开始默认值为dbms_stats.auto_cascade。

gather_sys:是否收集sys用户的统计信息,可接受true,false。默认值为false。

gather_temp:是否收集临时表的统计信息,可接受true,false。默认值为false。

options:处理对象以及处理方式

objlist:根据参数options的不同值,返回被处理对象的列表。

force:是否覆盖锁定对象信息

obj_filter_list:根据条件进行统计对象信息,,比如只统计以C打头的表的统计信息。

2. 收集选项

指明收集统计信息的方式,收集哪类列的统计信息,以及与之相关的SQL游标是否失效。

estimate_percent:是否采样收集统计信息,可用值从0.000001到100的一个百分比值。100等同于NULL,表示不采样收集。需要理解一点,这个参数仅指定采样的最小百分比,如果数据库觉得这个取值太小,会自动增大该值。oracle9i之前默认值为NULL,oracle10g默认为dbms_stats.auto_sample_size(一个常量,为0,表示由存储过程决定采样大小),要加速统计过程,可取一个较小的采样值,比如0.5%或者0.1%。

block_sample:是否采用数据块采样(非数据块采样就是数据行采样),数据块采样更快速,数据行采样更准确。只有确信数据是随机均匀分布的,才可以使用数据块采样。TRUE:数据块采样,FALSE:数据行采样,默认FALSE。

method_opt :是否收集直方图统计信息,如果收集,采样的最大桶数。可取值如下:

NULL或者空字符串:只收集列统计信息,不收集直方图统计信息。

收集列统计信息和所有列的直方图统计信息,比如:for all columns size 200,表示对每一列最多采样200个桶。

只收集某一些列的直方图统计信息,比如:for columns size 200 col1,col2,col3,col4 size 1,col5 size 1。只对这5列收集直方图信息,而且只对前3列最多采样200个桶。

oracle9i默认值为 for all columns size 1,oracle10g后默认值为 for all columns size auto。

degree:对象统计时所用的从属进程数量,默认值为null

no_invalidate:与收集的对象相关的游标是否失效,可用值为true,false和dbms_stats.auto_invalidate。oracle9i默认值为false(相关游标立即失效),oracle10g之后默认为dbms_stats.auto_invalidate(游标过一段时间失效,避免集中重新解析游标)

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

oracle表数据收集,Oracle收集对象统计信息相关推荐

  1. oracle表数据实例,Oracle创建数据表实例

    Oracle创建数据表实例. 1.创建数据表 --判断数据表是否存在,存在则删除 DECLARE IS_EXIST NUMBER; BEGIN SELECT COUNT(*) INTO IS_EXIS ...

  2. JDBC使用Java反射万能查询Oracle表数据、插入数据——【JDBC编程】

    JDBC使用反射智能查询Oracle表数据 JDBC编程中使用反射技术,动态获取Oracle表数据 1.反射的概念 2.构建Oracle数据库连接方法,关闭方法--便于调用 静态常量类: Oracle ...

  3. oracle数据库开多线程,学习笔记:Oracle表数据导入 DBA常用单线程插入 多线程插入 sql loader三种表数据导入案例...

    天萃荷净 oracle之数据导入,汇总开发DBA在向表中导入大量数据的案例,如:单线程向数据库中插入数据,多线程向数据表中插入数据,使用sql loader数据表中导入数据案例 1.Oracle数据库 ...

  4. 【DB笔试面试639】在Oracle中,什么是多列统计信息(Extended Statistics)?

    ♣ 题目部分 在Oracle中,什么是多列统计信息(Extended Statistics)? ♣ 答案部分 Oracle优化器对于基数值的估算是否准确关系到能否生成最优的执行计划,而基数值估算的准确 ...

  5. 【数据库1】mysql,DDL/DML,DQL,外键约束,多表/子查询,事务,登陆,连接池,jdbc,redis,crontab,ftp,oracle,数据交换/存储/收集

    文章目录 1.mysql安装:存储:集合(内存:临时),IO流(硬盘:持久化) 1.1 服务端:双击mysql-installer-community-5.6.22.0.msi 1.2 客户端:命令行 ...

  6. oracle 定时清理表数据,关于Oracle存储过程和调度器实现自动对数据库过期数据清除的问题...

    简介 数据库中的某些数据不一定要长期保存,例如:日志等数据.当保存一定时间后,系统允许删除所以系统需要定期删除那些已经过期的数据. 实现原理 1张表(SYS_DBA_CONFIG).1个Job定时器( ...

  7. oracle 表数据删除后恢复还原

    ##数据库表还原到某时间点 还原语句 使用如下sql语句就可以还原整张表格数据到某个时间点,前提条件:该表的表格式没有变动(如:字段的修改等) ALTER TABLE 表名 ENABLE ROW MO ...

  8. oracle两个表数据比较,oracle数据库两表数据比较

    1 引言 在程序设计的过程中,往往会遇到两个记录集的比较.如华东电网PMS接口中实现传递一天中变更(新增.修改.删除)的数据.实现的方式有多种,如编程存储过程返回游标,在存储过程中对两批数据进行比较等 ...

  9. 两台oracle怎样定期导表数据,定期从Oracle导数据至MySQL

    因部分项目需求,需要将Oracle中单表的数据定期导入至MySQL,注意此处对数据的时效性要求不高.要求高可以利用goldengate 首先,需要将visit表中的vid,userid,goodid, ...

最新文章

  1. 正确修改MySQL最大连接数的三种好用方案
  2. linuv创建文件的命令_ECS实践案例丨逻辑卷的创建和扩容操作指导
  3. 【算法】图(一)拓扑排序的实现 图的邻接表算法 判断是否图G中存在环
  4. 一个最简单的bootstrap例子
  5. 雄安大学真的来了!占地总面积2550亩!
  6. MySQL数据库备份的10个教程
  7. 关于lucene2.2部分代码
  8. vi 命令 使用方法
  9. MongoDB自学日记1——基本操作
  10. 全网最全Linux常用命令
  11. 《趣谈网络协议》课程学习笔记
  12. java是面向对象还是面向过程_Java面向对象编程和面向过程编程的区别
  13. 电信吉比特光纤猫虚拟服务器设置,吉比特光纤猫内置wifi怎样设置上网
  14. 使用casewhen来判断执行不同的sql
  15. 工具分享: 一键保存网页为PDF文件
  16. 大数据平台的SQL查询引擎有哪些—SparkSQL
  17. Word2013怎样从任意页开始设置页码
  18. 【惨遭被裁】985毕业,依然过不好这一生
  19. android内存置换,安卓手机64GB内存如何更换内存
  20. Bugku:Snowfall

热门文章

  1. python 偏态分布_统计科学之你到底偏哪边的?
  2. 另类数据Alternative Data行业调查
  3. 脱胎换骨 WinXP优化精湛10招
  4. 如何进行统筹式工作?
  5. Kaggle网站数据集抓取
  6. 普陀区鼓励企业科创政策包(普陀科创十条)
  7. Ec/Io____C/I
  8. Ubuntu 18.04 安装惠普打印机驱动后出现异常 No System tray detected on this system
  9. google云 重置
  10. 川藏之行——奇瑞QQ冰淇淋再次出发