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


あー、でもなんで改善するのかよくわかんね。