欢迎投稿

今日深度:

oracle统计信息,oracle统计信息收集

oracle统计信息,oracle统计信息收集


手工刷ORACLE统计信息
 select count(1) from LOG_TRX_DETAIL;
 select * from user_tab_statistics where table_name = 'LOG_TRX_DETAIL';
 exec dbms_stats.gather_table_stats('ARDB','ACCT_BALANCE',cascade => true);
 exec dbms_stats.gather_table_stats('ARDB','LOG_TRX',cascade => true);
 exec dbms_stats.gather_table_stats(OWNNAME=>'ARDB',TABNAME=>'LOG_TRX_DETAIL',GRANULARITY=>'ALL',ESTIMATE_PERCENT=>5,DEGREE=>4,CASCADE=>TRUE);
 exec dbms_stats.gather_table_stats(OWNNAME=>'ARDB',TABNAME=>'ACCT_BALANCE',GRANULARITY=>'ALL',ESTIMATE_PERCENT=>5,DEGREE=>4,CASCADE=>TRUE);
 execute dbms_stats.gather_table_stats(ownname => 'ARDB',tabname => 'TRANS_DETAIL', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE ,method_opt => 'FOR ALL COLUMNS SIZE 1',no_invalidate=>false, DEGREE=>8, cascade => true);
 exec dbms_stats.gather_table_stats('ARDB', 'LOG_TRX', 'P201301', granularity => 'PARTITION', DEGREE=>4, cascade => true);
 exec dbms_stats.gather_table_stats('ARDB', 'LOG_TRX_DETAIL', 'P201301', granularity => 'PARTITION', DEGREE=>4, cascade => true);
 alter system flush shared_pool;

 关闭统计信息更新
 begin
 DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'auto optimizer stats collection',
 operation => NULL,
 window_name => NULL);
 end;
 /
 
 通过视图DBA_AUTOTASK_WINDOW_CLIENTS可以查看他们一周七天的执行情况
 select * from DBA_AUTOTASK_WINDOW_CLIENTS;


对于oracle 统计信息简单问题

48 个递归调用
获取了 24 个数据库块
获取了 91 个约束
0 物理读取
0 重做日志
通过 SQL*Net向客户端发送了 982 个字节
通过SQL*Net从客户端接收了 492 个字节
通过SQL*Net与客户端有 2 个通讯
0 个内存排序
0 磁盘排序
共获取了6 行数据
 

oracle中的统计信息问题

统计信息需要及时更新才会发挥它的作用,旧的统计信息不仅无用,而且会导致查询优化器使用不正确的执行计划,导致查询效率很低。建议的做法不是删除统计信息,而是及时更新表和索引的统计信息。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4118.html NewsArticle oracle统计信息,oracle统计信息收集 手工刷ORACLE统计信息 select count(1) from LOG_TRX_DETAIL; select * from user_tab_statistics where table_name = 'LOG_TRX_DETAIL'; exec dbms_stats.gather_table_stats('ARDB','ACCT_BALANCE',c...
评论暂时关闭