資料庫自增主鍵可能產生的問題

2021-07-25 17:04:08 字數 263 閱讀 8973

原文:

原文:筆記:

資料庫自增id會造成分布式資料庫不一致的問題

方案1:每個表自增步長不是1,比如第乙個表自增為初始為1,步長2,第二個表初始2,步長2

方案2:每個表起始不一樣,每增加到一定程度,重新選取起始值,如初始起始值為0*65535,自增為1,當增加到65535時,換個起始為1*65535,自增為1.

方案3:另開乙個表專門儲存自增字段現在的值,每次插入資料時先在這裡面取得和更新id值,這樣每次插入需要更新兩張表,併發性差。

資料庫自增主鍵可能產生的問題

在mysql中經常會配置自增長屬性的字段作為主鍵,特別是使用innodb儲存引擎,因為innodb的聚集索引的特性,使用自增長屬性的字段當主鍵效能更好,但是使用自增主鍵也可能會帶來一些問題。舉個例子,使用自增主鍵對資料庫做分庫分表,可能出現一些諸如主鍵重複等的問題,或者在資料庫匯入的時候,可能會因為...

資料庫自增主鍵的問題

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

Oracle資料庫主鍵自增

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