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

ORACLE9の開発環境でデータをインポートしてANALYZEを行ったところ、半数以上の処理で著しくパフォーマンスが悪化しました。ANALYZEについて色々と調べている中では「たまに遅くなる場合がある」と言うニュアンスで受け取っていたのですが、多くの処理がとんでもなく遅くなると言う事態は想定していませんでした。
個々のSQLを調査するにしても数が膨大で時間がどれだけかかるか見当つきません。
一般論としてお聞きしたいのですが、ANALYZEをすることで多くの処理が遅くなってしまうような場合、何か根本的なところで誤りがあるのでしょうか?それともそういう場合もあるものなのでしょうか?
また、ANALYZEをすることで遅くなる可能性のあるケースを具体的に紹介しているサイトはないでしょうか?

よろしくお願いいたします。

A 回答 (2件)

確かに遅くなるときもありますが半数以上となると何かあるかもしれませんね。


staspackはお使いですか?このツールで遅いSQLを見つけることができます。

ちなみにPSRの適用で実行計画が変更され遅くなることもありますが心当たりはありませんか?
PSR3からPSR4の変更のときにはまりました。
    • good
    • 0
この回答へのお礼

いくつか遅くなってしまったSQLを特定できているのですが、どうも氷山の一角のようでまだまだありそうです。staspackは使っています。やっぱり個々のSQLの調査が必要ですよね?
別の部門が管理しているので、PSRの適用状況は現時点では把握していません。

ありがとうございました。

お礼日時:2006/04/09 23:49

ANALYZEで統計情報を取得するための探査量を指定しますが、


どのような指定で行いましたか?

理想的には、データ部索引部共に全域調査させるのが、良いのですが、
大きなデータベースの場合は、事実上困難です。
そのため、ある程度、割り切って、調査の量を制限しますが、
これが、実行計画の立案に狂いを生じさせる原因になります。

どの程度の範囲をANALYZEさせるか見直せば、改善する
のではないかと思います。

個人的には、データ部20~30% 索引部100%程度で行いのが
良いように思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。データ・索引とも100%で実行しました。100%でも万全ではないことは認識しているのですが、こんなものなのでしょうか?

お礼日時:2006/04/07 01:02

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

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