オプティマイザは複数のタイプのスキャン方法から選択できます。最も一般的なスキャン方法は次のとおりです。
TimesTenでは、ハッシュ索引とROWID参照を介して高性能な完全一致処理が実行され、Tツリー索引を介して範囲一致処理が実行されます。問合せ計画の選択時にオプティマイザによる特定のスキャン方法についての検討を実行可能または実行不可にするには、ttOptSetFlag組込みプロシージャを使用します。
全表スキャンでは、表内のすべての行が調べられます。全体スキャンは、問合せ条件を評価する最も非効率的な方法であるため、他の方法を使用できない場合にのみ使用されます。
TimesTenでは、表に保存される各行にROWIDという名前の一意IDを割り当てます。たとえば、アプリケーションで以前にROWIDを選択し、次に「WHERE ROWID =」句を使用して同じ行をフェッチする場合に、ROWID参照が適用可能です。ROWID参照は両方のタイプの索引スキャンより高速です。
ハッシュ索引参照では、ハッシュ索引を使用して主キーに基づいて行が検出されます。このような参照は、ハッシュ索引が含まれている主キーが表に存在し、条件によって主キー列に対して完全一致が指定されている場合に適用できます。
Tツリー索引スキャンでは、Tツリー索引を使用して表にアクセスします。このようなスキャンは、表に1つ以上のTツリー索引が存在するかぎり適用できます。オプティマイザは、可能なかぎり長いキー列の接頭辞を一致させるよう試みます。特定のキー列で一致しない場合、索引スキャンはその列の値をすべて返します。各キー列に対して、条件に単一の値を指定する(T1.A = 2など)場合に、Tツリー索引が一意であれば、オプティマイザはスキャンによってではなく、参照によって行を検索します。