ttOptUseIndex

このプロシージャは、アプリケーションで、TimesTen問合せオプティマイザによる実行計画の生成を変更できるようにします。アプリケーションはこのプロシージャをコールして、一連の索引の使用を無効にしたり、問合せで使用する各相関関係のために一連の索引のみの使用を有効にすることができます。索引の使用を有効にしても、生成された計画がその索引を使用するとはかぎりません。オプティマイザは、推定されたコストに応じて、指定した索引を使用する計画より優れた計画が得られる場合、シリアライズ・スキャンまたはマテリアライズ・スキャンを使用して、関連する相関関係にアクセスすることを選択する場合があります。

このコールによって加えられた変更はただちに有効になり、アプリケーションがこれを消去するコールを明示的に発行するまで、現在のトランザクションでのODBC関数SQLPrepareおよびSQLExecDirectへの後続のすべてのコール、JDBCメソッドConnection.prepareCallおよびStatement.executeへの後続のすべてのコールに影響します。新しいトランザクションが開始されるたびに、設定は消去されます。

この組込みプロシージャの実行中は、AutoCommitOFFに設定する必要があります。

必要な権限

このプロシージャには、権限は必要ありません。

TimesTen ScaleoutおよびTimesTen Classicでの使用

このプロシージャは、TimesTen Classicでサポートされています。

TimesTen Scaleoutアプリケーションでこの組込みプロシージャをコールできます。

TimesTen Scaleoutの場合、このプロシージャは、コール元の要素に対してローカルに実行されます。

関連ビュー

このプロシージャには関連ビューはありません。

構文

ttOptUseIndex('IndexName, CorrelationName, 0 | 1')

パラメータ

ttOptUseIndexには、次の構成要素を持つTT_VARCHAR(1024)型の単一のカンマで区切られた文字列パラメータindOptionがあります。

コンポーネント 説明

IndexName

ユーザー定義索引の名前(一時的な範囲索引の場合は「_TMPRANGE」、一時的なハッシュ索引の場合は「_TMPHASH」)。索引名を省略すると、指定した相関関係のすべての索引に設定が適用されます。

CorrelationName

表の相関名。表がFROM句の相関名によって定義されている場合、この表の索引ヒントを指定する際は、表名のかわりにこの相関名を使用します。相関名を省略すると、この設定は、指定した索引名を持つすべての表に影響します。

0 | 1

IndexNameで指定した索引の使用を無効(0)または有効(1)にします。

結果セット

ttOptUseIndexは結果を返しません。

CALL ttOptUseIndex('"3456"."1234", t1, 0');

CALL ttOptUseIndex('data1.i1, data1.t1, 0');

CALL ttOptUseIndex('i1, t1, 0');

ノート:

パラメータを指定しないか、またはNULL値を指定してttOptUseIndexをコールすると、前の索引ヒントが消去されます。