チューニングが必要なSQLを洗い出す

Oracle SQLチューニング講座
■チューニング対象のSQL

  • 1実行当たりの実行時間が長いSQL
  • ディスク読み取りブロック数が多いSQL
    • 適切でない索引や、連結索引の一部を使用している可能性
  • バッファの読み取り数が極端に多いSQL
    • 効率の悪い索引を使用している、もしくは全表スキャンを行っている可能性
  • 実行回数が極端に多いSQL
    • 1回の実行でアクセスするブロック数を減らせれば効果大。
■洗い出し方
  • 動的パフォーマンスビューからSQLを抽出する方法
  • アプリケーションのSQLトレースを取得する方法

SELECT * FROM
(SELECT
elapsed_time / executions / 1000000 time_per_once
,sql_text
,address,hash_value
,parse_calls
,executions
,buffer_gets
,disk_reads
,buffer_gets/executions buffer_per_run
,disk_reads/executions disk_per_run,cpu_time
,elapsed_time
FROM v$sql
WHERE executions>0
ORDER BY time_per_once desc) -- ←この条件を変更する
WHERE rownum <= 20