Oracleのよくわからないチューニング
Oracle上のIN句を使っているSQLで、実行計画がIN句の引数毎に実行計画が枝分かれしてしまっている場合、ANALYZEコマンドで実行計画が改善されることがある。
-- 表の全データのうちの10%を使用して、統計情報を作成 ANALYZE TABLE テーブル名 ESTIMATE STATISTICS SAMPLE 10 PERCENT; -- 表の全データを使用して統計情報を作成(時間がかかります) ANALYZE TABLE テーブル名 COMPUTE STATISTICS; -- 表の統計情報を削除する ANALYZE TABLE テーブル名 DELETE STATISTICS;
INDEXのANALYZEもある。
ANALYZE INDEX インデックス名 VALIDATE STRUCTURE
あー、でもなんで改善するのかよくわかんね。