オプティマイザ Oracle

user-pic
0

10gでは
オプティマイザ統計の収集に、ANALYZE文でCOMPUTE句およびESTIMATE句を使用しないでください。これらの句は下位互換性のためにのみサポートされており、将来のリリースでは削除される可能性があります。DBMS_STATSパッケージを使用する方が、より広範囲で正確な統計セットが効率的に収集されます。
とあるので


スキーマ内のすべてのオブジェクトの統計 を取る
には、下記

EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS('スキーマ名',DBMS_STATS.AUTO_SAMPLE_SIZE);

また、ワークテーブルなどの夜は0件になるようなテーブルは、

LOCK_TABLE_STATSを使ってロックしておけばよい。


自動統計収集は、22:00からデフォルトでうごく。
以下で確認できる。

SELECT * FROM DBA_SCHEDULER_JOBS WHERE JOB_NAME = 'GATHER_STATS_JOB';

自動統計収集を使用禁止にする場合

BEGIN
DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');
END;
/

チューニングの参考

テーブル毎の更新情報
SELECT * FROM ALL_TAB_MODIFICATIONS;
SELECT * FROM USER_TAB_MODIFICATIONS;

チューニングの検証前のメモリフラッシュ

ダーティバッファの書き出し(更新系の処理の場合)
ALTER SYSTEM CHECKPOINT;
共有プール(SHARED POOL) の フラッシュ
ALTER SYSTEM FLUSH SHARED_POOL;
データベース・バッファ・キャッシュのクリア Oracle 10g
ALTER SYSTEM FLUSH BUFFER_CACHE;

トラックバック(0)

トラックバックURL: http://www.atomsware.co.jp/mt/mt-tb.cgi/678

コメントする

このブログ記事について

このページは、しまっち2009年9月14日 12:07に書いたブログ記事です。

ひとつ前のブログ記事は「お手本」です。

次のブログ記事は「泣かないと決めた日」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。