資料庫主鍵自增策略

2021-10-09 05:58:50 字數 448 閱讀 2673

資料庫主鍵自增策略:

1.自增長主鍵策略

優點:簡單,不需要程式做特別處理

缺點:這種方法對以後如果專案移植到其他資料庫改動會比較大,

而且如果多表合併,就會出現重複的主鍵

2.使用時間戳+隨機數

優點:時間簡單,與資料庫無關,移植性較好

缺點:長度太長,最少也得20位,不進占空間並且建索引的話效能會比較差

3.每次取主鍵最大值+1作為新的主鍵

優點:主鍵長度可控,移植性較好

缺點:併發寫可能會造成主鍵衝突,對併發也不太好控制

4.單獨建乙個存放主鍵的表

優點:實現簡單,移植性較好

缺點:需要 考慮併發問題,整個系統主鍵生成都依賴該錶,效能影響可能較大

5.uuid:

優點:它能保證每個節點所生成的標識都不會重複

缺點:生成的結果串會比較長,影響效能

Oracle資料庫主鍵自增

在學習mysql時,我們很容易通過auto increment就能實現主鍵自增的功能,但是在oracle資料庫中,是沒有這個關鍵字的,所以也不能通過這樣來實現主鍵自增。下面我就為大家介紹兩種實現主鍵自增的方法。兩種方法的基礎都有乙個概念就是序列 sequence 的概念,一種是利用序列和顯式呼叫的方...

erlang資料庫Mnesia主鍵自增

erlang資料庫mnesia主鍵自增 2012 09 24 22 32 07 分類 python ruby 對於mnesia資料庫表有時候需要有乙個id欄位,就像關聯式資料庫的主鍵.最簡單的辦法是用uuid做id,但是我們希望此id是整數遞增的.或者用 做id也是不錯的辦法.類似於乙個set集合 ...

資料庫自增主鍵的問題

刪除原表資料 並重置自增列,對於有外來鍵的資料 truncate 無法刪除 truncate table tablename 只刪除資料,標識值不清除 delete from tablename 設定允許顯式插入自增列 set identity insert tablename on 設定不允許顯式...