Oracle的自增列,要採用序列號(sequence)。php
初始化階段要手動創建一個sequence,而後插入的時候,還要手動本身去讀這個sequence的nextval賦給相關字段,如ID,麻煩的很。好處就是記錄插入前,咱們就知道這個ID值了,在處理主從表時,有時還比較方便。但這個對sql server來講,也不是問題,能夠得到的。mysql
oracle這個序列號,還有個高速緩存這麼個東東,默認是一次性生成20個,沒用完可能就丟了,可能形成ID不連貫。更有甚者,有時可能會引發誤解。sql
比如說,我有個存儲過程,裏面用到了序列號。數據庫
而後這個存儲過程,既能夠手動執行,也能夠託付給做業(JOB)執行。由於有高速緩存,做業都是先拿了20個,按照本身的節奏去插入;若是還記錄時間戳的話,你會發現,怎麼有些ID值小的,其執行時間倒是最新的?緣由即在此,ID與印象中的順序不符合。緩存
這樣的話,ID就失去時間關聯的參照屬性了,還乾脆使用GUID來作主鍵好了。GUID的話,表跨數據庫均可以啊。但SQL SERVER中,好像就沒有這個問題。oracle
http://www.woaipu.com/shops/zuzhuan/61406
http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=117777
http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=117890
http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=117994
http://nanning.xjwy.cn/f/bencandy.php?fid=43&id=118376.net