oracle 表分析 影响,oracle 表分析
在使用DBMS_STATS分析表的时候,我们经常要保存之前的分析,以防分析后导致系统性能低下然后进行快速恢复。
首先创建一个分析表,该表是用来保存之前的分析值。
SQL> begin
2 dbms_stats.create_stat_table(ownname => 'TEST',stattab => 'STAT_TABLE');
3 end;
4 /
PL/SQL 过程已成功完成。
分析表信息
SQL> BEGIN
2 --DBMS_STATS.delete_table_stats(ownname => 'TEST',tabname => 'A');
3 DBMS_STATS.gather_table_stats(ownname => 'TEST',tabname => 'A');
4 END;
5 /
PL/SQL 过程已成功完成。
导出表分析信息到stat_table中。
SQL> BEGIN
2 dbms_stats.export_table_stats(ownname => 'TEST',tabname => 'A',stattab => 'STAT_TABLE');
3 END;
4 /
PL/SQL 过程已成功完成。
SQL>
同理也有
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:分析系统信息
SQL> select count(*) from stat_table;
COUNT(*)
----------
1
删除分析信息
SQL> BEGIN
2 DBMS_STATS.delete_table_stats(ownname => 'TEST',tabname => 'A');
3 END;
4 /
PL/SQL 过程已成功完成。
导入分析信息
SQL> BEGIN
2 DBMS_STATS.import_table_stats(ownname => 'TEST',tabname => 'A',stattab => 'STAT_TABLE');
3 END;
4 /
PL/SQL 过程已成功完成。
SQL>
示例:
--analyze.sql
set serveroutput on size 100000
declare
v_per number(3);
v_start number := dbms_utility.get_time;
v_end number;
begin
for rec in (select segment_name,segment_type,ceil(sum(bytes)/1024/1024) segment_size
from user_segments group by segment_name,segment_type)
loop
if rec.segment_type = 'INDEX' then
dbms_stats.gather_index_stats(ownname=>'citictest', --自己改一下INDNAME=>rec.segment_name
);
-- dbms_output.put_line(rec.segment_name||' '||rec.segment_size||'m '||ceil((dbms_utility.get_time - v_start)/100)||'s');
v_start := dbms_utility.get_time;
elsif rec.segment_type = 'TABLE' then
case when rec.segment_size < 32 then
v_per := 100;
when rec.segment_size < 320 then
v_per := 10;
else
v_per := 1;
end case;
dbms_stats.gather_table_stats(OWNNAME=>'citictest',
TABNAME=>rec.segment_name,
ESTIMATE_PERCENT=>v_per,
METHOD_OPT=>'FOR ALL INDEXED COLUMNS');
-- dbms_output.put_line(rec.segment_name||' '||rec.segment_size||'m '||ceil((dbms_utility.get_time - v_start)/100)||'s');
v_start := dbms_utility.get_time;
end if;
end loop;
end;
/
oracle 表分析 影响,oracle 表分析相关推荐
- dev shm与oracle,初识/dev/shm oracle
今天,一同事问到了/dev/shm目录下为什么会有很多以ora_开头的文件,都有什么用途.虽然经常在linux系统下看到shm设备,但却从没有太多的关心shm到底是干什么用的.为此,特地在网上找了资料 ...
- 导出oracle awr分析报告,配置oracle内存参数,察看表空间使用率
cmd 命令生成awr报告: cmd 窗口 输入 -> Sqlplus sys/orcl@orcl as sysdba (sys登陆oracle) . 导出awr命令 @?/rdbms/adm ...
- oracle表分析都分析什么,oracle表分析
analyze table tablename compute statistics; analyze index indexname compute statistics; 对于使用CBO很有好处, ...
- Oracle 表分析缩表,MySQL中的表分析
零:说在前面 众所周知,Oracle中,对于大量增删改操作的表需要定时进行表分析,以便回收被标记废弃的磁盘空间,缩减表的实际大小.对于异常状态的索引,也需要定时对索引进行重构. MySQL中亦有类似需 ...
- Jdbc访问mysql查询聚合函数_JDBC连接参数设置对Oracle数据库的影响分析
一次数据库性能问题处理引发的JDBC参数设置思考 近期某环境下系统,出现大面积页面访问缓慢情况,每个页面交易响应时间2-5秒,严重超过平日访问阈值. 经排查分析,问题主要出现在数据库,生成AWR得到3 ...
- Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...
天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...
- oracle 物化视图、中间表的方案
物化视图 有个项目因为有比较多的查询汇总,考虑到速度,所以使用了物化视图.简单的把用到的给整理了下.先看简单创建语句: create materialized view mv_materialized ...
- oracle 在线表分析报告,Oracle Statspack分析报告详解(一)
statspack 输出结果中必须查看的十项内容 1.负载间档(Load profile) 2.实例效率点击率(Instance efficiency hit ratios) 3.首要的5个等待事件( ...
- oracle 驱动表提示错误代码,oracle驱动表以及如何确定驱动表
驱动表普遍认为是由SQL语句的写法决定的,简单的说,就是FROM语句后面的表列表中的最后一个.由于SQL语句是从后向前进行分析,Oracle会根据FROM语句从后到前将各个表依次连接起来. SQL&g ...
最新文章
- Web 开发人员必备的随机 JSON 数据生成工具
- Eclipse + Spring boot +mybatis + mysql
- Linux 的多线程编程的高效开发经验
- matlab_simulink笔记01——模块属性的设置以及模块参数的设置
- server端推送消息机制
- 草稿 listview动态绑定数据
- 华为服务器装系统怎么选pxe,华为TaiShan服务器PXE操作系统
- atitit 验证码理论与概览与 验证码规范 解决方案.docx
- 程序设计基础(c语言)(第3版)课后习题答案
- csrss.exe介绍
- lighty2.0沙箱版本的协议和配置分析采用ragel 成功案例
- velodyne+cartographer 2D构建栅格地图
- onPullDownRefresh和uni.startPullDownRefresh(OBJECT)、uni.stopPullDownRefresh()的关系
- 分享WIN7输入法图标不显示的几种解决方法
- ETL工程师_个人职责
- 造物数藏:以数字藏品为契机 不断完善应用场景探索
- 云计算课程作业专业词汇
- php 光速,光速 - 实验帮百科
- 随机数生成器(结绳中文app编程)
- 网站统计中的数据收集原理及实现-埋点统计