ビュー(VIEW)が遅いときの原因とチューニング方法

ここでは、ORACLE SQLのビュー(VIEW)が遅いときの原因とチューニング方法を紹介します。

マテリアライズドビューの場合は、「マテリアライズドビューが遅いときの原因とチューニング方法」を参考にしてください。

ビュー(VIEW)が遅くなる原因

これまでSQLを実行しても問題なく応答・結果が返ってきていたビューが突然遅くなることがありませんか。これは別にORACLEの機嫌が悪くなったのではありません。きちんと原因があります。

原因を説明する前に、そもそもビュー(VIEW)ってどのように実行されるかご存知でしょうか。ビューをSELECTすると、事前にCREATE VIEWで宣言・定義していたSELECT文がリアルタイムに実行されます。ORACLE的にはビューだから何か特別配慮してくれるわけでもなく、事前に定義されたSELECT文を毎回実行しているだけです。つまりORACLEオプティマイザ的には、通常の他のSQLと同じように実行計画を立て、SQLを実行していきます。

ということは、ビューが遅くなる原因というのは、他のSQLと同じということです。例えば、参照している表(テーブル)のデータが急激に増減して実行計画とデータの実態とが一致しなくなったとか、統計情報がしばらくの間取得されていないとか、です。その辺りの原因については、「SQLが突然遅くなる原因と対応方法」や「SQLのレスポンスが遅い原因3つ」などでもう少し詳しく紹介しています。

チューニング方法

原因が分かれば後はチューニングするだけです。ビューも他のSQL,SELECT文と同じようにチューニングしてあげましょう。詳しくは「SELECT文のSQLチューニング方法まとめ」や「SLECT文が遅いときのインデックス作成によるチューニング方法」など、他にもたくさん紹介していますので、SELECT文のタイプに合わせてチューニング方法を選定してみてください。

Oracle SQLチューニング パフォーマンス改善と事前対策に役立つ (DB selection) [ 加藤祥平 ]

価格:2,808円
(2018/11/19 19:23時点)

ビュー(VIEW)が遅いときの原因とチューニング方法” に対して1件のコメントがあります。

この投稿はコメントできません。