Oracle Databaseへの動的ロードの自動パススルー

TT_DynamicPassthroughオプティマイザ・ヒントを設定して、WHERE句なしで作成されたキャッシュ・グループの適格なSELECT文をOracle DatabaseにパススルーするようにTimesTen Classicに通知します。

アプリケーションがTimesTen接続に対して文を発行すると、その文をTimesTenデータベースで実行したり、Oracle Databaseにパススルーして解決できます。Oracle Databaseにパススルーされた場合、結果は返されますが、キャッシュ・インスタンスはロードされません。文をTimesTenデータベースまたはOracle Databaseのいずれで実行するかは、文の構成およびPassThrough接続属性の設定によって決まります。

TimesTen Classicでは、WHERE句なしで作成されたキャッシュ・グループについて、Oracle Databaseからキャッシュ・インスタンスに動的にロードされる行の数を制限できます。TT_DynamicPassthrough(N)オプティマイザ・ヒントを設定できます。Nは、キャッシュ・インスタンスにロードできる行数の制限です。Oracle Databaseに対するSELECT文で、行数がNを超える結果が返された場合、文はOracle Databaseにパススルーされ、結果はキャッシュ・インスタンスにロードされません。

デフォルトでは、動的ロードの対象となるキャッシュ・グループの動的ロードのSELECT文はTimesTen Classicデータベースで実行され、キャッシュ・インスタンスのすべての行がロードされます。また、オプティマイザ・ヒントを指定してN=0を設定すると、すべての行がTimesTen Classicデータベースのキャッシュ・インスタンスにロードされます。

このオプティマイザ・ヒントは、接続および文レベルのヒントとしてサポートされています。

文レベルのヒント:

/*+TT_DynamicPassThrough (1)*/

接続レベルのヒント:

OptimizerHint = TT_DynamicPassThrough (1)

次の例は文レベル・オプティマイザ・ヒントで、SELECT文で動的ロードによって1000行以上が返された場合のSELECT文の動的パススルーをOracle Databaseにリクエストします。

SELECT /*+ TT_DynamicPassThrough(1000)*/ ...

「パススルー・レベルの設定」を参照してください。

『Oracle TimesTen In-Memory Database SQLリファレンス』「オプティマイザ・ヒント」および『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』「オプティマイザ・ヒントを使用して実行計画を変更する」を参照してください。