• ベストアンサー

oracleのanalyzeと処理時間について

Oracle9iを使用してシステム開発を行っています。 性能を向上させるため、大量のデータ追加を行った後の検索処理の際にanalyzeを実行することになりました。 しかし、いざanalyzeを実行しても検索時間が必ず短縮するわけではなく、analyzeをすることでかえって遅くなるときがありました。 これはどういうことが原因と考えられるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

analyzeは処理時間短縮のおまじないではないからです。 analyzeをする事で、それまでルールベースだった実行計画 がコストベースに変わったりした場合、オプティマイザは 統計情報を見て 「索引を使うべきか」「表をどの順番で結合するか」 などを判断します。 ルールベースでは必ず索引を使っていたのに、統計情報が 収集された事で索引を使うための閾値が変わり、全表走査 になる、と言った事はよくあります。 チューニングマニュアルをご確認ください。 手許になければOTNで。(登録無料) オラクル技術者のためのダウンロード・掲示板・ドキュメント http://otn.oracle.co.jp/

参考URL:
http://otn.oracle.co.jp/
montoya
質問者

お礼

早速の回答ありがとうございました。 analyzeをしたからといって必ず処理が早くなるわけではないんですね。

関連するQ&A