统计信息收集


QINV_ORG_SUB_ACCESS

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

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

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

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

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

---------------收集统计信息-------------
--系统的
execute dbms_stats.gather_system_stats('start');
execute dbms_stats.gather_system_stats('stop');
查询系统收集的信息
SELECT * FROM AUX_STATS$;

查询对象的统计信息
SELECT Table_Name,Num_Rows,Blocks,Empty_Blocks,Avg_Space,Chain_Cnt,Avg_Row_Len,Sample_Size,Last_Analyzed
FROM Dba_Tables WHERE table_name='MTL_MATERIAL_TRANSACTIONS'
--用户的
execute DBMS_stats.gather_schema_stats('TGK_INTERFACE_DIDI',100,CASCADE=>TRUE);
execute DBMS_stats.gather_schema_stats('BBB',100,CASCADE=>TRUE);
execute DBMS_stats.DELETE_SCHEMA_STATS('SYS');
execute DBMS_stats.gather_schema_stats('SYS');
--表和索引的
execute DBMS_stats.gather_table_stats('XA_USER','TBUSER');
execute DBMS_stats.gather_INDEX_stats('GL','gl_code_combinations');
execute DBMS_stats.gather_INDEX_stats('FA','FA_MASS_ADDITIONS_N5');
execute DBMS_stats.gather_table_stats('FA','FA_MASS_ADDITIONS');
execute DBMS_stats.gather_table_stats('FA','FA_MASS_ADDITIONS',drgee>'4'); 并行


分析某个用户下的所有索引
declare
v3 varchar2(100);
begin
v3:='a';
for k in (select index_name from dba_indexes where table_name='FA_MASS_ADDITIONS' and owner='FA') loop
v3:=k.index_name;
dbms_stats.gather_index_stats('FA',V3);
END LOOP;
END;
/

分析表对应的索引的统计信息
declare
v1 dba_indexes.owner%type;
v2 dba_indexes.index_name%type;
cursor c2 is select owner,index_name from dba_indexes where table_name in ('GL_CODE_COMBINATIONS' ,'GL_ACCOUNT_HIERARCHIES','GL_BC_PACKETS','GL_JE_BATCHES','GL_JE_HEADERS','GL_JE_LINES');
begin
if not c2%isopen then
open c2;
end if;
loop
fetch c2 into v1,v2;
dbms_stats.gather_index_stats(V1,V2);
exit when  c2%notfound;
end loop;
close c2;
end;
/


分析某个用户下的所有表
declare
v2 varchar2(100);
begin
v2:='a';
for k in (select table_name from user_tables order by 1) loop
v2:=k.table_name;
dbms_stats.gather_table_stats('XJPRD',V2);
END LOOP;
END;
/

分析多个表的统计信息
declare
v2 varchar2(100);
begin
v2:='a';
for k in (select table_name from dba_tables where table_name in ('GL_ACCOUNT_HIERARCHIES','GL_BC_PACKETS','GL_JE_BATCHES','GL_JE_HEADERS','GL_JE_LINES') )loop
v2:=k.table_name;
dbms_stats.gather_table_stats('GL',V2);
END LOOP;
END;
/

--列的
execute DBMS_stats.gather_table_stats('SCOTT','T1',method_opt=>'FOR COLUMNS SAL');  

------------------------------------------
alter session set events '10046 trace name context forever, level 12';
1: Standard SQL tracing 
4: Level 1 + tracing bind variables 
8: Level 1 + tracing wait events 
12: Level 4 + Level 8 (SQL tracing, bind vars and wait events) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秒变学霸的18岁码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值