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

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

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

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

好口碑IT培訓

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

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

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

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

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

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