教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

DDL中如何選擇主鍵id的生成策略?

更新時間:2023年01月30日17時20分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

MyBatisPlus中DML的相關(guān)新增成功后,主鍵ID是一個很長串的內(nèi)容,我們更想要的是按照數(shù)據(jù)庫表字段進行自增長,在MP中都提供了哪些主鍵生成策略,我們該如何進行選擇?

NONE: 不設(shè)置id生成策略,MP不自動生成,約等于INPUT,所以這兩種方式都需要用戶手動設(shè)置,但是手動設(shè)置第一個問題是容易出現(xiàn)相同的ID造成主鍵沖突,為了保證主鍵不沖突就需要做很多判定,實現(xiàn)起來比較復(fù)雜。

AUTO:數(shù)據(jù)庫ID自增,這種策略適合在數(shù)據(jù)庫服務(wù)器只有1臺的情況下使用,不可作為分布式ID使用ASSIGN_UUID:可以在分布式的情況下使用,而且能夠保證唯一,但是生成的主鍵是32位的字符串,長度過長占用空間而且還不能排序,查詢性能也慢。

ASSIGN_ID:可以在分布式的情況下使用,生成的是Long類型的數(shù)字,可以排序性能也高,但是生成的策略和服務(wù)器時間有關(guān),如果修改了系統(tǒng)時間就有可能導(dǎo)致出現(xiàn)重復(fù)主鍵。

綜上所述,每一種主鍵策略都有自己的優(yōu)缺點,根據(jù)自己項目業(yè)務(wù)的實際情況來選擇使用才是最明智的選擇。

0 分享到:
和我們在線交談!