5 問合せの最適化
TimesTenは、コスト・ベースの問合せオプティマイザを備えています。これは、実現可能な問合せ計画を検討して、指定された問合せを実行するための最も効率的な方法を自動で判断することで、効率的なデータ・アクセスを保証します。最適化はコンパイル・プロセスの第3段階目で行われます。
図5-1に、コンパイルの段階を示します。
複数の実行計画が可能な場合、TimesTenによってSQL文用のオプティマイザが起動されます。オプティマイザは、最適と判断した計画を選択します。この計画は、文がアプリケーションによって無効にされるか削除されるまで保持されます。
オプティマイザでは、次の情報に基づいて計画のコストを判断します。
-
表と列の統計情報
-
メタデータ情報(参照整合性、主キーなど)
-
索引の有無。索引の選択(一時索引の作成を含む。)
-
データの量
-
一意の値の数
-
条件の選択性
-
スキャン方法(全表スキャン、ROWID参照、範囲索引スキャン、ハッシュ索引参照)
-
結合アルゴリズムの選択(ネステッド・ループ結合、索引付きネステッド・ループ結合、マージ結合)
この章の内容は次のとおりです。
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen問合せオプティマイザを参照してください。