
ORACLE9の開発環境でデータをインポートしてANALYZEを行ったところ、半数以上の処理で著しくパフォーマンスが悪化しました。ANALYZEについて色々と調べている中では「たまに遅くなる場合がある」と言うニュアンスで受け取っていたのですが、多くの処理がとんでもなく遅くなると言う事態は想定していませんでした。
個々のSQLを調査するにしても数が膨大で時間がどれだけかかるか見当つきません。
一般論としてお聞きしたいのですが、ANALYZEをすることで多くの処理が遅くなってしまうような場合、何か根本的なところで誤りがあるのでしょうか?それともそういう場合もあるものなのでしょうか?
また、ANALYZEをすることで遅くなる可能性のあるケースを具体的に紹介しているサイトはないでしょうか?
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
確かに遅くなるときもありますが半数以上となると何かあるかもしれませんね。
staspackはお使いですか?このツールで遅いSQLを見つけることができます。
ちなみにPSRの適用で実行計画が変更され遅くなることもありますが心当たりはありませんか?
PSR3からPSR4の変更のときにはまりました。
いくつか遅くなってしまったSQLを特定できているのですが、どうも氷山の一角のようでまだまだありそうです。staspackは使っています。やっぱり個々のSQLの調査が必要ですよね?
別の部門が管理しているので、PSRの適用状況は現時点では把握していません。
ありがとうございました。
No.1
- 回答日時:
ANALYZEで統計情報を取得するための探査量を指定しますが、
どのような指定で行いましたか?
理想的には、データ部索引部共に全域調査させるのが、良いのですが、
大きなデータベースの場合は、事実上困難です。
そのため、ある程度、割り切って、調査の量を制限しますが、
これが、実行計画の立案に狂いを生じさせる原因になります。
どの程度の範囲をANALYZEさせるか見直せば、改善する
のではないかと思います。
個人的には、データ部20~30% 索引部100%程度で行いのが
良いように思います。
ありがとうございます。データ・索引とも100%で実行しました。100%でも万全ではないことは認識しているのですが、こんなものなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
WHERE句の実行順序
-
WHERE句はJOIN結合前結合後どち...
-
likeとsubstrの使いわけについて
-
ヒント句が無効になります
-
set timing と autotraceの時間...
-
PDCAを回すって?
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
ODBCリンクの際にACCESSでは読...
-
callで順に実行されるプロシー...
-
sqlplusでヘッダーが付かない
-
Accessの数値から時間に変換す...
-
重複するIDのデータを1行にま...
-
エクセルVBAでUserFormを起動し...
-
或るプロシージャの呼び出し元判定
-
PL/SQLカーソルの2重FORループ...
-
【Excel VBA】 WorksheetやRa...
-
SQLで部分的にGROUP BYしたいとき
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
WHERE句の実行順序
-
likeとsubstrの使いわけについて
-
ヒント句が無効になります
-
あいまい検索のパフォーマンス...
-
Like文の速度について教えてく...
-
WHERE句はJOIN結合前結合後どち...
-
いつもお世話になってます。
-
パフォーマンスについて
-
問題解決のストーリーにて PDCA...
-
SQL ORDER BYにおける条件について
-
実行計画HASH JOIN RIGHT OUTER
-
計画力をつけるにはどうすれば...
-
表の結合(性能)
-
JOINの時のONとWHEREの違いにつ...
-
アナライズでほとんどの処理が...
-
実行計画の取得方法について
-
実行計画(EXPLAIN PLAN、AUTOT...
-
外部結合と等価結合のパフォー...
-
アナライズとヒント句
おすすめ情報