性能の基礎
性能問題は「遅い SQL」だけが原因ではありません。SQL、索引、統計情報、I/O の順に切り分けると、初学者でも再現性のある調査ができます。
性能調査の順序
- 遅い SQL を特定する
- 実行計画でフルスキャンや結合方式を確認する
- 必要に応じて索引や SQL を修正する
- 統計情報を更新し再検証する
実行計画の確認
EXPLAIN PLAN FOR
SELECT * FROM employees WHERE department_id = 10;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
典型的な改善
- 検索条件列に索引を作る
- 関数適用で索引無効化していないか確認する
- 不要な列取得を減らし I/O を抑える
見るべき指標
| 観点 | 確認対象 | 例 |
|---|---|---|
| SQL | 実行回数・平均時間 | AWR レポート |
| I/O | 待機イベント | db file sequential read |
| メモリ | SGA/PGA 使用状況 | V$SGASTAT |
チューニングは必ず「変更前後の計測」をセットにしてください。体感だけで判断すると再発しやすくなります。