統計情報の収集タイミングを知る
sqlPlus上で以下のコマンドを実行
SQL> SHOW PARAMETERS STATISTICS_LEVEL NAME TYPE VALUE -------------------- -------- ------------------------------ statistics_level string TYPICAL
が「TYPICAL」または「ALL」の場合に、自動で統計情報が収集されている
統計情報がいつ収集されたか
SELECT TABLE_NAME NAME, LAST_ANALYZED FROM USER_TABLES NAME LAST_ANALYZED EMP 2010/11/1 3:06 TBL1 2010/11/1 3:06 TBL1_0928031111 2010/11/1 3:06 TBL2 2010/11/1 3:06 TBL2_0928030545 2010/11/1 3:06
統計情報の収集
BEGIN --テーブル単位の収集 DBMS_STATS.GATHER_TABLE_STATS ( OWNNAME => 'ユーザ名' ,TABNAME => 'テーブル名' ,METHOD_OPT => 'FOR ALL INDEXED' ,CASCADE => TRUE ); END;
BEGIN --スキーマ単位の収集 DBMS_STATS.GATHER_SCHEMA_STATS ( OWNNAME => 'ユーザ名' ,OPTIONS => 'GATHER' ); END;