SQLが遅くなる原因SQLが突然遅くなる原因と対応方法ここではORACLEデータベースのSQLが急に遅くなる原因と対処方法について紹介してきます。SQLの実行計画の見方や確認方法については↓で紹介していますので参考にしてください。>>【ORACLE】SQLの実行計画の見方>>【ORACLE】SQLの実行計画を取得する方法SQLが突然遅くなる原因と対処方法SQLが突然遅くなる原因を3つ紹介しています。以降でもう少し詳しく紹介していきます。1.統計情報が古いORACLEがSQLを実行するとき、表の統計情報を元にどのようにしてデータを取得するか、実行計画という計画を作成します。表の中のデータが増えたり減ったり、月末処理などで大量の更新がかかりデータの内容が大きく変わってしまったりすると表の統計情報が古くなっていることがあります。そのとき、最適な実行計画が立てられず、SQLが突然遅くなることがあります。いった場合はSQLで参照している表の統計情報を取得してください。SQLを再度実行し直してください。実行中のSQLはどうにもできませんのでご注意ください。ORACLEのテーブルやインデックスの「統計情報」とはORACLE表の統計情報の取得方法2.実行計画が最適ではない表の統計情報が最新の場合でも実行計画が最適ではない場合があります。複雑なSQL、副問合せやネストが多いものはORACLEオプティマイザが作成した実行計画が最適でない場合があります。ORACLEでも百発百中で最適な実行計画は立てられません。こんなときは実行計画を最適なものに変更する必要があります。SQLのチューニングをオススメします。チューニングが出来ない場合にはORACLEチューニングアドバイザを使ってプロファイルを作ることや過去の実行計画を使うように設定するなど対処する必要があります。本稼働後から数年経つとデータ量も増えていきます。データの削除が適切に行われデータ量が一定に保たれているシステムをこれまで見たことはないです。データ量が増えることにより、特にメモリ(SGAやPGA)の不足が発生します。これによりSQLの実行が待ち行列を作り、突然遅くなることがあります。他にも、共有プールのサイズが枯渇していて、ハードパースが行われる回数が増えているなども考えられます。この辺までくると、アプリをサクッと修正して完了とはいきません。チューニングの知識を学んだ上で、リソースの増強を考えて行く必要があります。「SGA」や「PGA」に基礎的な内容を紹介していますので参考にしてください。まとめSQLが突然遅くなる原因を3つ紹介しています。1.統計情報が古い2.実行計画が最適でない3.リソース不足SQLのチューニングは↓で詳しく紹介していますので参考にしてください。