美文网首页
DDL中如何选择主键id的生成策略?

DDL中如何选择主键id的生成策略?

作者: 鹤子青云上 | 来源:发表于2023-03-08 17:59 被阅读0次

MyBatisPlus中DML的相关新增成功后,主键ID是一个很长串的内容,我们更想要的是按照数据库表字段进行自增长,在MP中都提供了哪些主键生成策略,我们该如何进行选择?

NONE: 不设置id生成策略,MP不自动生成,约等于INPUT,所以这两种方式都需要用户手动设置,但是手动设置第一个问题是容易出现相同的ID造成主键冲突,为了保证主键不冲突就需要做很多判定,实现起来比较复杂。

AUTO:数据库ID自增,这种策略适合在数据库服务器只有1台的情况下使用,不可作为分布式ID使用ASSIGN_UUID:可以在分布式的情况下使用,而且能够保证唯一,但是生成的主键是32位的字符串,长度过长占用空间而且还不能排序,查询性能也慢。

ASSIGN_ID:可以在分布式的情况下使用,生成的是Long类型的数字,可以排序性能也高,但是生成的策略和服务器时间有关,如果修改了系统时间就有可能导致出现重复主键。

综上所述,每一种主键策略都有自己的优缺点,根据自己项目业务的实际情况来选择使用才是最明智的选择。

相关文章

网友评论

      本文标题:DDL中如何选择主键id的生成策略?

      本文链接:https://www.haomeiwen.com/subject/kcuoldtx.html