美文网首页IT修真院IT修真院_JAVA
太吓人了!自增ID居然有这种坏处!什么样的场景下不使用自增ID?

太吓人了!自增ID居然有这种坏处!什么样的场景下不使用自增ID?

作者: 路盲就是可以看到更多风景 | 来源:发表于2017-05-16 19:46 被阅读84次

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

    1:什么是自增ID?

    2:自增ID的好处与坏处.

    3:什么场景下不使用自增ID?

    4:相关拓展

    自增ID的好处:

    •1:比较方便,sql语句添加id时就不用填写id字段的值,也就是说不用花心思来管ID这块的数据,系统会自动加进去并按顺序排序

    •2:保证单一数据库ID唯一

    •3:相比uuid而言,简单一点

    自增ID的坏处:

    •1:不存在连续性

    •2:数据重复了自增不会处理和提示

    •3:在面对对象时,不能保证完整性

    •4:分库的时候ID就不唯一了

    •解决方式:uuid,使用uuid在数据库移植,多表多数据库分布式存储时就会比较方便

    什么场景下不使用自增ID:

    •1:自增ID的作用是唯一地标识表中的某一条记录,如果有其他能唯一标识该行数据的列,就不用设置自增ID了.

    •2:在做分布式数据库的时候,要求同步自增ID就会出现严重的问题.

    相关拓展:UUID

    •UUID(UniversallyUnique identifier)意为通用唯一标识符.是一个软件建构的标准,多用于分布式计算环境

    作用:让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识咨询的指定.

    这样一来,每个人都可以建立不与其他人冲突的UUID,也就不需要考虑建立时名称重复的问题

    UUID的组成

    •UUID由以下几部分组合:

    •1:当前日期和时间,UUID的第一部分与时间有关,如果生成一个UUID后,过几秒又生成一个UUID,则第一部分不同,其余相同

    •2:时钟序列

    •3:全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡则以其他方式获得

    UUID的缺点:

    •UUID的缺点在于生成的结果串会比较的长,是128位长的字母,一般用16进制来表示,但也还是很长.

    •所以为了简单方便,一般还是使用自增ID,当有独特需求的时候才用到UUID

    ----------------------------------------------------------------------------------------------------------->

    技能树.IT修真院

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

    这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧 !IT修真院http://www.jnshu.com/login/1/11009551

    相关文章

      网友评论

        本文标题:太吓人了!自增ID居然有这种坏处!什么样的场景下不使用自增ID?

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