
224
導
入
編
1
設
計
編
ア
キ
テ
ク
チ
ャ
編
2
3
4
5
6
7
4
ようです。よって、SQLを記述するにも開発プロジェクトで何らかの標準が
必要になります。
Oracle
の
SQL
実行計画
Oracle は、プログラムから要求された SQL の実行を次のような手順で実
行します。すなわち、「解析→実行→取得(フェッチ)」です。
解析では、実行するSQLを解析します。形式が正しいか、実行する権限
があるかを確認します。次に解析されたSQLを実行します。SQLの実行で
はオプティマイザと呼ばれるものが実行するSQLを分析して実行計画を作
成します。実行計画ではSQLを実行するための結合方法やインデックスの
使用などが決定されます。結合方法は、基本的にテーブルのデータの統計
情報によります。また、インデックスがあれば、必ずインデックスを使う
というわけではありません。すべて、オプティマイザが作成する実行計画
で決まるのです。SQLのパフォーマンスが良いか悪いかは、実行計画によ
る部分が大きいです。
Oracle が提供するコマンドを使用することで、オプティマイザが作成し
た実行計画を参照できます。SQLパフォーマンスのチューニングを行うに
は、実際に実行計画を参照し、結合方法やインデックスの使われ方を確認
するとよいでしょう。
プログラムからSQLの記述を統一させる方法として、バインド変数の利
用があります。Java の JDBC APIであれば、PreparedStatementがそれに
あたります。バインド変数を利用することで、SQL ...