为啥大家都用uuid作为数据库的主键啊

为啥大家都用uuid作为数据库的主键啊,第1张

UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 UUID。在这样的情况下,就不需考虑数据库建立时的名称重复问题。目前最广泛应用的 UUID,即是微软的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的应用,则有 Linux ext2/ext3 档案系统、LUKS 加密分割区、GNOME、KDE、Mac OS X 等等。

看需求,你用什么数据库引擎,如果是INNODB,UUID做主键不是很好。一个原因是以后索引空间会比较大。二个是UUID是随机的,所以数据的存储顺序也是随机,查询时需要较多IO。如果量不大,那就随意了。

首先你要明白,save和merge的效果都是没有主键的时候是保存,有主键的时候是更新,但是save执行之后,对象变为持久态,而merge执行过后,对象是脱管状态,也就是说,这时对象的主键是不起作用的。

在你的程序中,每次循环都thisproTechProchead,所以对于save来说第一次过后,对象已经是持久态了,所以之后的 *** 作只是更新,而merge的话,由于第一次之后是托管的,主键不起作用,所以是插入,也正是因为主键不起作用,所以插入的主键就是null

以上就是关于为啥大家都用uuid作为数据库的主键啊全部的内容,包括:为啥大家都用uuid作为数据库的主键啊、Mysql 用UUID做主键可行么、SSH2用HIBERNATE *** 作数据库的问题,主键使用UUID的方式,等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10159141.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存