欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

mysql不使用自增_自增ID有什么坏处?什么样的场景下不使用自增ID?

发布时间:2025/4/17 数据库 67 豆豆
生活随笔 收集整理的这篇文章主要介绍了 mysql不使用自增_自增ID有什么坏处?什么样的场景下不使用自增ID? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

大家好,我是IT修真院上海分院第3期学员,一枚正直善良的java程序员,今天给大家分享一下,修真院java任务中的一个知识点:自增ID有什么坏处?什么样的场景下不使用自增ID?

1.背景

对于MySQL中表的主键一般采用id字段自增的形式,不过自增id存在一些问题,在一些场景下是不推荐使用自增ID的。

2.什么是自增ID

自增ID是在设计表时将id字段的值设置为自增的形式,这样当插入一行数据时无需指定id会自动根据前一字段的ID值+1进行填充。在MySQL数据库中,可通过sql语句AUTO_INCREMENT来对特定的字段启用自增赋值 使用自增ID作为主键,能够保证字段的原子性.

3.自增ID有什么好处

在添加一行时无需对自增id列赋值,在添加一行数据时可留空,会自动根据前一字段id值+1填充

单个表中能够唯一标识该字段,保证原子性。在单个表中使用自增ID能够保证主键不重复

4.自增ID有什么坏处

不存在连续性,也就是说若表中存有3行数据,ID字段为1,2,3 那么当删除字段2时就变为1,3,不具有连续性

合并表会出现ID重复的情况,上面说个使用自增ID能够在单个表中保证ID字段唯一,但两个表何为1个表,时不具有这种性质的。

5.什么场景下不使用自增ID

正是因为自增ID的缺点也就是无法在多个表中,或者多个数据库中保持ID主键唯一不重复,所以若是使用分布式数据库以及数据合并的情况下时不能使用自增ID的。

若是能够有其他的字段能作为主键保证唯一性,无需使用自增ID

6.自增ID的替代者UUI

UUID含义是通用唯一识别码 (Universally Unique Identifier),指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。换句话说能够在一定的范围内保证主键id的唯一性。

7.UUID存在的目的

UUID的目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。也就完美解决的自增ID的缺点。

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~我的邀请码:16318412,或者你可以直接点击此链接:http://www.jnshu.com/login/1/16318412

作者:Himly

PPT地址:PPT

自增ID有什么坏处?什么样的场景下不使用自增ID?_腾讯视频

总结

以上是生活随笔为你收集整理的mysql不使用自增_自增ID有什么坏处?什么样的场景下不使用自增ID?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。