SWTキャッシュ・グループの使用の制限
SWTキャッシュ・グループを使用する場合、一定の制限があります。
SWTキャッシュ・グループを使用する場合は、次の制限が適用されます。
-
キャッシュ表定義では、
ON DELETE CASCADE
およびUNIQUE HASH ON
キャッシュ表属性のみを使用できます。ON DELETE CASCADE
キャッシュ表属性の詳細は、「ON DELETE CASCADEキャッシュ表属性」を参照してください。UNIQUE HASH ON
キャッシュ表属性の詳細は、「キャッシュ表の主キー列に対するハッシュ索引の作成」を参照してください。 -
キャッシュ・グループに対して
FLUSH CACHE GROUP
文を発行できません。FLUSH CACHE GROUP
文の詳細は、「ユーザー管理キャッシュ・グループのフラッシュ」を参照してください -
キャッシュ表定義に
WHERE
句を含めることはできません。キャッシュ・グループの定義および処理での
WHERE
句の詳細は、「WHERE句の使用」を参照してください。 -
キャッシュ表に対して
TRUNCATE TABLE
文を発行できません。 -
SWTキャッシュ・グループでは、Oracle Databaseビューまたはマテリアライズド・ビューをキャッシュできません。
-
SWTキャッシュ・グループにキャッシュされているOracle Database表で、直接DML文を実行することは避けてください。これにより、エラー状態になる場合があります。キャッシュされたOracle Database表で挿入、更新または削除処理のいずれかを行うと、処理対象の行に対してTimesTenで実行される処理に不適切な影響を与える場合があります。TimesTenでは、Oracle Databaseで発生する更新競合は検出または解決されません。キャッシュされたOracle Database表で直接コミットされた変更は、キャッシュ表の更新がOracle Databaseに伝播されたときに、TimesTenキャッシュ表でコミットされた更新によって上書きされる場合があります。さらに、キャッシュされたOracle Database表で行を削除すると、TimesTenがすでに存在しない行に対して更新を試みたときに、更新が適用されなくなる場合があります。
Oracle DatabaseですべてのデータがDML文から制限を受けることがないようにするために、Oracle Databaseでデータを分割して、SWTキャッシュ・グループに含まれているデータとSWTキャッシュ・グループから除外されるデータとを分けることができます。