Oracleの統計情報を手動で収集する
はじめに
Oracle 10g以降では、「自動統計収集」という機能がデフォルトで有効になっている。これは、Oracleが主に夜間、統計情報を自動的に収集するという機能だが、本エントリでは、自動統計収集と同じ処理を、手動で実行する方法について記述する。
手順
以下の手順により、指定したテーブルの統計情報を、Oracleが自動統計収集で行うのと同じ方法で、再収集できる。なお同時に、テーブルに従属するインデックスの統計情報も、同様に再収集される。
1. SQL*PlusをSYSで起動
2. 以下のコマンドを実行
SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => '<スキーマ名>', TABNAME => '<テーブル名>', ESTIMATE_PERCENT => DBMS_STATS.AUTO_SAMPLE_SIZE)