1. 程式人生 > >oracle 序列中cache 有什麼用途

oracle 序列中cache 有什麼用途

create    sequence    name     
increment by x //x為增長間隔
start with x //x為初始值
maxvalue x //x為最大值
minvalue x //x為最小值
cycle //迴圈使用,到達最大值或者最小值時,從新建立物件
cache x //制定存入快取(也就是記憶體)序列值的個數

序列是一資料庫物件,利用它可生成唯一的整數。一般使用序列自動地生成主碼值。一個序列的值是由特別的Oracle程式自動生成。
如果不設定cycle迴圈的話,每一個序列號是唯一的。 當一個序列號生成時,序列是遞增

當使用到序列的事務發生回滾。會造成序列號不連續。

cache的作用:當大量語句發生請求,申請序列時,為了避免序列在運用層實現序列而引起的效能瓶頸。Oracle序列允許將序列提前生成 cache x個先存入記憶體,
在發生大量申請序列語句時,可直接到執行最快的記憶體中去得到序列。但cache個數也不能設定太大,因為在資料庫重啟時,會清空記憶體資訊,預存在記憶體中的序列會丟失,
當資料庫再次啟動後,序列從上次記憶體中最大的序列號+1 開始存入cache x個