索引
問合せオプティマイザは、索引を使用して問合せの処理を高速化します。オプティマイザは、既存の索引を使用するか、一時索引を作成して、実行計画を生成します。
索引とは、表の行の位置を示すキーのマップです。TimesTenシステムから最大のパフォーマンスを引き出すには、索引を戦略的に使用することが必須になります。
TimesTenでは、次のタイプの索引を使用します。
TimesTenでは2種類の索引を使用し、それぞれを一意または一意でない(デフォルト)として定義できます。
-
ハッシュ索引: ハッシュ索引は、1つ以上の列で完全一致する行を検索する場合に有効です。ハッシュ索引は、
CREATE HASH INDEX
SQL文を使用して作成します。通常、完全一致参照と等価結合については、ハッシュ索引のほうが範囲索引より高速です。ただし、範囲またはキーの接頭辞を含む参照ではハッシュ索引を使用できません。また、ハッシュ索引では範囲索引より多くの領域が必要になる可能性があります。 -
範囲索引: 範囲索引は、列の値が等価または非等価として指定された範囲内にある行を検出する場合に有効です。範囲索引は、表の1つ以上の列にわたって作成できます。範囲索引は、
CREATE INDEX
SQL文を使用して作成します。
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引の理解を参照してください。また、『Oracle TimesTen In-Memory Database SQLリファレンス』のCREATE INDEXに関する説明を参照してください。
索引アドバイザ・ツールを使用して、特定のSQLワークロードのパフォーマンスを向上できる一連の索引を推奨できます。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の索引を推奨するためのIndex Advisorの使用を参照してください。