OracleSQLのレスポンスが遅い原因3つ

 私はこれまで業務アプリSEとして多くの性能問題を対応してきました。その大半は下記の3つの原因でした。

1.統計情報が古い、最新でない

一番よくあるパターンです。とりあえず統計情報を取得してみるだけでも解決することがあります。システムを開発するときは、統計情報の取得のタイミングもぜひ設計することをおすすめします。

2.SQLが最適ではない

通常、javaやVBではアルゴリズムを考えてコーディングします。しかし、SQLはアルゴリズムを考えずに簡単にコーディングできます。
 ただ本来あるべき姿としては、ORACLEアーキテクチャを理解し最適なアルゴリズムを考えながらコーディングした方が良いでしょう。ぜひ開発者の方は以下の書籍で学んでください。性能は重要な品質要素です。

・プロとしてのOracleアーキテクチャ入門

プロとしてのOracleアーキテクチャ入門第2版 図解と実例解説で学ぶ、データベースの仕組み [ 渡部亮太 ]

・プロとしてのSQLチューニング入門

【中古】 プロとしてのSQLチューニング入門 Oracle現場主義 /福田武志【著】 【中古】afb

3.検証が十分ではない

これもあるあるですが大抵、本番機に比べ、検証機のスペックやデータ量が少なく
検証が十分に出来ていません。そのため本番を迎えた後で、問題が発生するケースが散見されます。

最後に

遅い原因が分かれば、後は速くするだけです。



>>おすすめのORACLE参考書まとめ




★★★ブログ村ランキングに1票お願いします!もちろん無料です(笑)★★★
ブログランキング・にほんブログ村へ

【SQLでお困りの方にオススメ】
■SQLが遅くなる原因
・SQLが突然遅くなる原因と対応方法
・OracleSQLのレスポンスが遅い原因3つ
・JOINを使って表結合するとSQLが遅い!?
・SQLがパラレル実行されない原因

■SQLチューニングの基礎知識
・ORACLE SQLのヒントとは
・ORACLEのオプティマイザと実行計画について
・ORACLEのテーブルやインデックスの「統計情報」とは

■SQLチューニングの方法
・SLECT文が遅いときのインデックス作成によるチューニング方法
・Update文が遅いときのチューニング方法
・Delete文が遅いときのチューニング方法
・IN句をEXISTS句に置き換えするチューニング方法
・OR句の置き換えによるチューニング方法
・IN句の置き換えによるチューニング方法
・テーブルアクセスフルスキャンを無くしてチューニングする方法
・SQLでGROUP BYが遅いときのチューニング方法
・SQLのソート処理が遅い場合のチューニング方法

■表や索引の断片化対策
・プロが教えるORACLEの表や索引の断片化解消の見積り方法
・ORACLE表の断片化を解消する3つの方法

■SQLのチューニングの補足情報
・ORACLE SQLヒントの書き方
・SQLに複数のヒントの書き方
・OracleSQLに実装すべき3つのSQLヒント
・ORACLE表の統計情報取得日の確認方法
・「統計情報が古い」とはどういうことか
・ORACLE表の統計情報の取得方法

【自己学習したい方にオススメ】
・自宅で勉強用にORACLEデータベースを無償でダウンロードし構築する方法
・OracleMasterGold12cに一ヵ月で合格した勉強方法
・OracleMasterExpertパフォーマンス&チューニングに一ヵ月で合格した勉強方法
・手に職がない人はIT業界へ、オススメ資格と勉強方法
・OracleDBのチューニング勉強方法
・OraclePL/SQL勉強方法