-- Start

统计信息相当于情报,对 Oracle 至关重要,如果统计信息不准确,Oracle 就会做出错误的判断。那如何查看统计信息呢?试一试下面的 SQL 吧。

-- 查看表统计信息

select * from DBA_TABLES where OWNER = 'HR' and TABLE_NAME = 'TEST';

select * from DBA_TAB_STATISTICS where OWNER = 'HR' and TABLE_NAME = 'TEST';

-- 查看列统计信息

select * from DBA_TAB_COL_STATISTICS where OWNER = 'HR' and TABLE_NAME = 'TEST';

-- 查看索引统计信息

select * from DBA_IND_STATISTICS where OWNER = 'HR' and TABLE_NAME = 'TEST';

通常,Oracle 会在每天固定时间段自动维护统计信息。但是对于某些表,这是远远不够的,如:某些表每天都需要清空,然后重新导入。这个时候,我们需要手动收集统计信息。

-- 方法1: 使用 DBMS_STATS.GATHER_TABLE_STATS 手动收集存储过程

DBMS_STATS.GATHER_TABLE_STATS('HR', 'ORDERS');

-- 方法2:删除并锁定统计信息,如果没有统计信息,Oracle 会动态收集统计信息

BEGIN

DBMS_STATS.DELETE_TABLE_STATS('HR','ORDERS');

DBMS_STATS.LOCK_TABLE_STATS('HR','ORDERS');

END;

Oracle 推荐我们使用方法1。 除此之外,DBMS_STATS 包还提供了下面的存储过程用来收集统计信息。

GATHER_INDEX_STATS 收集索引统计信息

GATHER_TABLE_STATS 收集指定表,列,索引的统计信息

GATHER_SCHEMA_STATS 收集指定模式下所有对象的统计信息

GATHER_SYSTEM_STATS 收集系统统(I/O,CUP)计信息

GATHER_DICTIONARY_STATS 收集 SYS, SYSTEM 模式下对象的统计信息

GATHER_DATABASE_STATS 收集所有数据库对象的统计信息

GATHER_FIXED_OBJECTS_STATS 收集 FIXED 对象的统计信息

DBMS_STATS 包还提供许多子程序让我们可以对统计信息进行操作,如:查询,删除,锁定,恢复等,更多详情你可以参考 PL/SQL Packages and Types 手册。

-- 更多参见:Oracle SQL 优化精萃

-- 声明:转载请注明出处

-- Last edited on 2015-08-28

-- Created by ShangBo on 2015-07-29

-- End

oracle 查看统计情报,Oracle 查看收集统计信息相关推荐

  1. oracle常用数据统计,学习笔记:Oracle DBMS_STATS常用方法汇总 常用于收集统计oracle...

    天萃荷净 Oracle数据库中DBMS_STATS常用方法(收集oracle数据库.索引.表等信息) –收集Oracle数据库信息命令 EXEC DBMS_STATS.gather_database_ ...

  2. Oracle并发(CONCURREMT)收集统计信息 (文档 ID 1555451.1)

    Oracle并发(CONCURREMT)收集统计信息 (文档 ID 1555451.1) 编辑手记:从11.2开始,可以通过CONCURRENT参数,启用表或分区的并行扫描,加快统计信息的收集速度. ...

  3. oracle收集统计计划,oracle收集统计信息之analyze

    oracle收集统计信息之analyze 1.analyze 收集表,索引的统计信息,现在oracle不推荐用analyze收集统计信息 收集表的统计信息Analyze table tablename ...

  4. oracle并行收集统计信息慢,Oracle 学习之性能优化(四)收集统计信息

    emp表有如下数据.SQL> select ename,deptno from emp; ENAME   DEPTNO ------------------------------ ------ ...

  5. oracle tabe unlock_Oracle 学习之性能优化(四)收集统计信息

    emp表有如下数据.SQL> select ename,deptno from emp; ENAME   DEPTNO ------------------------------ ------ ...

  6. oracle收集统计信息sql,Oracle自动统计信息的收集原理及实验

    从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息.这个自动任务默认情况下在工作日晚上10: ...

  7. oracle收集统计信息之analyze

    oracle收集统计信息之analyze 1.analyze 收集表,索引的统计信息,现在oracle不推荐用analyze收集统计信息  收集表的统计信息Analyze table tablenam ...

  8. Oracle收集统计信息

    Oracle收集统计信息 优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN: 列统计: --列中唯一值的数量(NDV ...

  9. Oracle收集统计信息之NO_INVALIDATE参数

    Oracle收集统计信息之NO_INVALIDATE参数 Oracle统计量对于CBO执行是至关重要的.RBO是建立在数据结构的基础上的,DDL结构.约束会将SQL语句分为不同的成本结构等级.而CBO ...

最新文章

  1. 包含min函数的栈 大坑
  2. BI国产化替代进入实质阶段,新产品新方案提高加速度
  3. 程序员养生(01) -- 心态
  4. java linkedlist源码分析_LinkedList源码分析(基于Java8)
  5. php.ini 是否设置路由,php – 如何在路由INI文件中为Zend Framework中的子域编写路由链?...
  6. CSS基本知识—浮动
  7. Flink入门训练--以New York City Taxi为例
  8. 报表性能优化方案之多数据集实现层式报表
  9. GCD 深入理解(一)
  10. Ubuntu搭建DNS主从服务器
  11. C#控制 计算机中“服务”的启动与停止 转
  12. python和c 的区别-Python与C语言有什么区别?
  13. 用python画多来a梦-python 绘制哆啦A梦
  14. 自定义 Yasnippet 模板
  15. 单例模式--懒汉模式和饿汉模式
  16. unity 实验演示 教程_Unity的演示团队– Unity最出色的视觉效果背后的创造者
  17. 论文翻译:Pose-conditioned Spatio-Temporal Attention for Human Action Recognition
  18. 使用JiaoZiVideoPlayer播放视频方向横过来出现的问题
  19. ubuntu简繁体输入法快捷键转换
  20. 【学习】如何制作手机端html模板(REM的实际应用)

热门文章

  1. 这本1900页的机器学习数学全书火了!完整版开放下载
  2. 人工智能顶级会议ICLR取消线下会议:远程出席、视频演讲
  3. 多年后的同学聚会,程序员混得最差?
  4. 阿里原来是这么干的!Spring Boot 五种热部署方式
  5. 为啥程序员下班后只关显示器从不关电脑?看看各大网站的答案~
  6. Linux内核网络栈1.2.13-af_inet.c概述
  7. 美多商城之验证码(短信验证码2)
  8. 记录一个免费而且好用的SSH登录软件_SecureCRT
  9. 【从零学习OpenCV 4】安装过程中问题解决方案
  10. 小程序:位置信息(Location)及微信小程序LBS解决方案实践