プロが教えるわが家の防犯対策術!

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

A 回答 (1件)

analyzeは処理時間短縮のおまじないではないからです。



analyzeをする事で、それまでルールベースだった実行計画
がコストベースに変わったりした場合、オプティマイザは
統計情報を見て
「索引を使うべきか」「表をどの順番で結合するか」
などを判断します。

ルールベースでは必ず索引を使っていたのに、統計情報が
収集された事で索引を使うための閾値が変わり、全表走査
になる、と言った事はよくあります。

チューニングマニュアルをご確認ください。
手許になければOTNで。(登録無料)

オラクル技術者のためのダウンロード・掲示板・ドキュメント
http://otn.oracle.co.jp/

参考URL:http://otn.oracle.co.jp/
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。

analyzeをしたからといって必ず処理が早くなるわけではないんですね。

お礼日時:2005/02/03 22:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す