IT修真院IT修真院_JAVA

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

2017-05-16  本文已影响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

上一篇下一篇

猜你喜欢

热点阅读