統計収集


QINV_ORG_SUB_ACCESS

        gather_database_stats: データベース オブジェクトの統計を収集します

        gather_dictionary_stats: データ ディクショナリ オブジェクト統計の収集

        gather_schema_stats: スキーマ全体のすべてのオブジェクト統計を収集します

        gather_table_stats: テーブル オブジェクトの統計を収集します

        gather_index_stats: インデックス オブジェクト統計の収集

---------------統計情報の収集-------------
--system
execute dbms_stats.gather_system_stats('start');
execute dbms_stats.gather_system_stats( ' stop');
システムによって収集された情報を照会する
SELECT * FROM AUX_STATS$;

table_name
、num_rows、blocks、empty_blocks、avg_space、chain_cnt、avg_row_len、sample_size、last_size、dba_tablesからのlast_name
= 'mtl_material_transactions'
- fore dbms_stat
execute dbms_statss.s.ss.s.s.s.s.s.s.s.s.s.s.dbms_statの選択);
execute DBMS_stats.gather_schema_stats('BBB',100,CASCADE=>TRUE);
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',drgee>'4'); 併行


ユーザー
宣言の下のすべてのインデックスを分析
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;
カーソル c2 は 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'); c2%isopen でない場合は
開始し、 c2 を開きます。終了する場合; c2 を v1、v2 にループ フェッチします。dbms_stats.gather_index_stats(V1,V2); c2%notfound の場合は終了します。ループを終了します。c2を閉じます。終わり; /











特定のユーザーの下にあるすべてのテーブルを分析する
宣言
v2 varchar2(100);
begin
v2:='a';
for k in (user_tables から table_name を 1 ずつ選択) loop
v2:=k.table_name;
dbms_stats.gather_table_stats('XJPRD' , V2);
END LOOP;
END;
/

複数のテーブルの分析情報
declare
v2 varchar2(100);
v2を開始
:='a';
for k in (dba_tables から table_name を選択します。ここで、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);
エンドループ;
終わり;
/

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

------------------------------------------
セッション セット イベント '10046 トレース名を変更します。コンテキストは永遠に、レベル 12';
1: 標準 SQL トレース 
4: レベル 1 + トレース バインド変数 
8: レベル 1 + トレース待機イベント 
12: レベル 4 + レベル 8 (SQL トレース、バインド変数および待機イベント) 

おすすめ

転載: blog.csdn.net/2301_76957510/article/details/129852226