資料庫ID自增優缺點?

2021-08-21 08:23:12 字數 376 閱讀 6793

優點:

1.自增,趨勢自增,可作為聚集索引,提公升查詢效率

2.節省磁碟空間。500w資料,uuid佔5.4g,自增id佔2.5g.

3.查詢,寫入效率高:查詢略優。寫入效率自增id是uuid的四倍。

缺點:1.匯入舊資料時,可能會id重複,導致匯入失敗。

2.分布式架構,多個mysql例項可能會導致id重複。

總結:1.單例項,單節點,由於innodb的特性,自增id效率大於uuid.

2.20個節點一下小型分布式架構:為了實現快速部署,主鍵不重複,可以採用uuid

3.20到200個節點:可以採用自增id+步長的較快速方案。

4.200個以上節點的分布式架構:可以採用twitter的雪花演算法全域性自增id

模擬自增ID提高資料庫移植性

在我的orm中,乙個最大的問題就是怎麼去模擬自增主鍵,因為orm中的主鍵是程式控制的。1.select max col from table 這種方法肯定不行,一出現併發就完蛋了。如果在程式裡面做迴圈直到插入成功,那麼邏輯就會非常的煩。2.新增一張專門儲存主鍵的表,每次先更新再讀取。使用事務控制併發...

資料庫自增id竟然被我用完了

事情的起因是這樣的 幾個月前做過乙個統計型別的job,上線之後小修小補了幾次一直執行的很平穩,就是有乙個缺點 慢。起初我一直以為是因為資料量過大導致的,每天早上六點準時開跑,一般要到下午一兩點才能跑完,其實現在想想這麼長時間的執行肯定是不合理的,而且本身業務的資料量也沒有大到那個地步,但是由於一直工...

關於資料庫自增列使用的優缺點

在平時的專案開發中,我相信有很大一批人都在用這個資料庫自增id,用資料庫自增id有利也有弊。優點 節省時間,根本不用考慮怎麼來標識唯一記錄,寫程式也簡單了,資料庫幫我們維護著這一批id號。缺點 for example,在做分布式資料庫時,要求資料同步時,這種自增id就會出現嚴重的問題,因為你無法用該...