1
start with 1
last value 1
increment by 1
cache 20

cache値を事前に割り当てる方法と、前の値からどのように影響を受けるか?

いくつかのエントリの後、異なる結果が表示されています。

4

1 に答える 1

4

設定のあるシーケンスでは、CACHE 20各インスタンスに 20 個の値がキャッシュされます (したがって、RAC クラスター内の各インスタンスは異なるキャッシュから動作します)。

「いくつかのエントリの後に異なる結果」について話しているとき、あなたが何を意味しているのか正確にはわかりません. 私の推測では、生成された値にギャップがあると言っていると思います。これは、Oracle シーケンスには常にギャップがあることが予想されます。シーケンスにCACHE設定がある場合、ギャップの原因の 1 つは、シーケンスが共有プールから期限切れになった場合 (またはインスタンスがシャットダウンされた場合)、キャッシュされた値が破棄されることです。これがギャップの唯一の原因ではないため、シーケンスを に設定してもNOCACHEギャップは解消されません。パフォーマンスを犠牲にして、この特定のギャップの原因を排除します。

于 2012-06-15T14:25:37.447 に答える