mysql自增主鍵用完了怎么辦 請問對于數(shù)據(jù)庫的主鍵究竟要不要用自增id呢?
請問對于數(shù)據(jù)庫的主鍵究竟要不要用自增id呢?謝謝你的邀請!此問題與特定的業(yè)務(wù)場景和技術(shù)實現(xiàn)有關(guān):1。業(yè)務(wù)場景:如訂單、付款單等敏感字段不能自動添加。它們是具有高安全級別的字段,需要一個唯一的ID作為主
請問對于數(shù)據(jù)庫的主鍵究竟要不要用自增id呢?
謝謝你的邀請!此問題與特定的業(yè)務(wù)場景和技術(shù)實現(xiàn)有關(guān):
1。業(yè)務(wù)場景:如訂單、付款單等敏感字段不能自動添加。它們是具有高安全級別的字段,需要一個唯一的ID作為主鍵。
2. 技術(shù)實現(xiàn):在實際開發(fā)過程中,批量導(dǎo)入或處理數(shù)據(jù)時,需要考慮技術(shù)實現(xiàn)的性能,因此需要從多方面驗證是使用自增主鍵還是非自增主鍵。
使用GUID和自增數(shù)字ID作為主鍵,各有什么好處和壞處?
guid可以用作分布式系統(tǒng)。另外,Oracle本身不支持自動遞增。
1-
guid太長。根據(jù)表達(dá)式的形式,它們都至少有32位。38位的長度浪費了存儲空間。
2-
guid是基于硬件設(shè)備相關(guān)的id和時間戳生成的
3-
guid不利于檢索和外鍵關(guān)聯(lián)
好處:[1-
一般來說,您不必?fù)?dān)心沖突的影響。此外,根據(jù)guid的生成規(guī)則,您可以大致知道生成的計算機(jī)硬件設(shè)備、時間等信息(但這有多重要)
2-
您可以在業(yè)務(wù)層知道,只有將數(shù)據(jù)提交到數(shù)據(jù)庫系統(tǒng)后,目標(biāo)ID才會確定。