WITH ID句を使用したキャッシュ・グループのロードおよびリフレッシュ
LOAD CACHE GROUP
文またはREFRESH CACHE GROUP
文のWITH ID
句を使用すると、WHERE
句を使用しなくても、主キー列の値に基づいてキャッシュ・グループをロードまたはリフレッシュできます。
主キーに複数の列が含まれている場合は、WITH ID
句の方が同等のWHERE
句よりも便利です。WITH ID
句を使用すると、キャッシュ・インスタンスを一度に1つずつロードできます。また、必要に応じて、ロード処理またはリフレッシュ処理を含むトランザクションをロールバックできますが、WHERE
句を使用する同等の文では、WHERE
句を使用するにはCOMMIT EVERY
n
ROWS
句も指定する必要があるため、このようなロールバックができません。
次の例では、WITH ID
句を使用してキャッシュ・グループをロードします。キャッシュ・グループrecent_orders
には、(
orderid
、itemid
)
を主キーとするキャッシュ表sales.orderdetails
が1つ含まれています。顧客が特定の注文の品目に関して問い合せる場合、指定された注文番号および品目番号のキャッシュ・インスタンスをロードすることでその情報を取得できます。
キャッシュされたOracle Database表sales.orderdetails
のorderid
列の値が1756であり、itemid
列の値が573である行を含む、recent_orders
キャッシュ・グループのsales.orderdetails
キャッシュ表をロードします:
LOAD CACHE GROUP recent_orders WITH ID (1756,573);
WHERE
句を使用する同等のLOAD CACHE GROUP
文は、次のとおりです。
LOAD CACHE GROUP recent_orders WHERE orderid = 1756 and itemid = 573 COMMIT EVERY 256 ROWS;
キャッシュ・グループが動的でないかぎり、自動リフレッシュを使用したキャッシュ・グループに対して発行されるLOAD CACHE GROUP
文またはREFRESH CACHE GROUP
文にWITH ID
句を含めることはできません。
WITH ID
句とCOMMIT EVERY
n
ROWS
句を併用することはできません。