テーブル単位で統計情報を更新するには、
DBMS_STATS.GATHER_TABLE_STATSを使用します。
構文
- (テーブル単位で統計情報を更新する)
- DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => 'ユーザ名' ,TABNAME => 'テーブル名' ,METHOD_OPT => 'FOR ALL INDEXED' ,CASCADE => TRUE );
サンプル
例)テーブルTANAKA.MUSERの統計情報を更新する
- SQL*Plus
- SQL> BEGIN DBMS_STATS.GATHER_TABLE_STATS( OWNNAME => 'TANAKA' ,TABNAME => 'MUSER' ,METHOD_OPT => 'FOR ALL INDEXED' ,CASCADE => TRUE ); END; / PL/SQL プロシージャが正常に完了しました。
備考
- 統計情報はオラクルが自動で更新してくれますが、いつ実行してくれるかは環境によります。
- なので、手動ですぐに更新したい場合はこのスクリプトを実行すれば統計情報が即更新されます。