SQLチューニングにおいて、スローSQLの分析手順は以下のとおりです:
グローバルSQL監査テーブル
(G)V$OB_SQL_AUDIT、SQLトレース、および実行計画キャッシュビューを使用してSQL実行パフォーマンス情報を確認し、SQLリクエストの処理フローにおいて時間消費やリソース消費(メモリ、ディスクI/Oなど)を引き起こすSQLを初期段階で特定します。例:特定期間内に実行時間が上位N位のリクエストを照会するSQLパフォーマンス分析については、SQL実行パフォーマンス監視を参照してください。
単一SQLの実行パフォーマンスは、そのSQLの実行計画に関連していることが多いため、実行計画の分析が最も重要な手段です。
EXPALINコマンドを実行して、オプティマイザーが指定されたSQLに対して生成した論理実行計画を確認し、チューニングの方向性を特定します。例:実行計画の形状を確認し分析する実行計画の詳細については、SQL実行計画の概要を参照してください。
SQLに含まれるテーブル、列、述語などのオブジェクトに関する統計情報を収集します。統計情報はコストモデルにおいて最適な実行計画を選択する鍵であり、オプティマイザーはこれを利用して計画選択戦略を最適化します。統計情報の収集を参照してください。
具体的なスローSQLを特定し、特定のSQLの実行時間やリソース消費を期待通りにするための一般的な最適化手法は以下のとおりです: