Oracle9iとANALYZE
Oracle9iにおいてANALYZEが実行されているDBではSQLの実行がルールベースではなくコストベースになります。
昨日まで問題なく動いていたSQLが急に遅くなったりした場合はANALYZEが実行されてオプティマイザがコストベースで判断している可能性を疑ってみてください。
ANALYZEが実行されているかどうかは以下の方法で調べられます。
スキーマにログイン
CONN SCOTT/TIGER@ORCL
user_tablesビューにアクセス
SELECT * FROM user_tables
last_analyzeのカラムに日付が入っている場合、ANALYZEが実行されています。
※10g以降の場合はデフォルトでコストベースです