Oracle sequence屬性值說明

2021-09-14 00:55:17 字數 1062 閱讀 9879

create sequence emp_sequence 

increment by 1  -- 每次加幾個 

start with 1    -- 從1開始計數 

nomaxvalue      -- 不設定最大值 

nocycle         -- 一直累加,不迴圈 ,如果cycle則達到最大值後從minvalue再開始取值 

maxvalue 99999  --最大值 

minvalue  1     --最小值 

noorder   -www.2cto.com- 

cache 10;       --預先在記憶體裡面放置一些sequence的個數 

這裡對cache 引數做乙個說明: 

如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如我們在建立序列時指定cache 為100. 在某乙個時刻,序列使用到了80. 而在這個時刻,資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失.  在下次啟動分配cache時,資料庫會從101 開始,在分配100個快取。即101--200. 而之前分配100個中的80-100這20個因為意外宕機而丟失。 這種情況下就會出現跳號的現象。我們可以在create sequence的時候用nocache防止這種情況。 但是nocache 的效能較差。如果指定cache而沒有 -www.2cto.com- 設定cache值,預設cache是20個。 這個預設值對於大多數情況下都是夠用的。 除非那種每秒上萬次的select。 所以具體情況要具體對待。 對於哪些大併發的系統,最好設定在100以上。像移動的boss系統,以1000為單位。 

關於order 引數的說明: 

序引數:oracle預設是noorder,如果設定為order;在單例項環境沒有影響,在rac環境此時,多例項實際快取相同的序列,此時在多個例項併發取該序列的時候,會有短暫的資源競爭來在多例項之間進行同步。因次效能相比noorder要差,所以rac環境非必須的情況下不要使用order,尤其要避免nocache order組合。 

原創 oracle sequence簡介

sequence簡介 2013 12 26 一 概述 sequence是序列號的意思,每次取的時候它會自動增加。sequence與表沒有從屬關係,與表一樣屬於使用者。二 主要內容 1 create sequence語法 首先使用者要有create sequence或者create any seque...

Oracle Sequence簡單介紹

oracle中提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面就主要介紹一下關於sequence物件的生成,修改,刪除等常用的操作 1.生成 sequence 首先使用者要有create sequence或者create any sequ...

ORACLE SEQUENCE的簡單介紹

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...