oracle 多表共用一个序列 还是多表多序列

探讨了在使用Hibernate操作Oracle数据库时,表主键自增采用每个表一个序列还是多个表共用一个序列的方法,并分析了两种方案在批量添加及多线程情景下的优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用hibernate 操作oracle数据库,表主键自增,我们通常要为表建立序列,你也可以不建立自己的序列,(使用hibernate自带的序列):

现在有个问题:每个表一个序列 和 多个表共用一个序列 那种方式比较好?

我先说一下绝大多数网民对此种问题的回答:最好为每个表建立一个索引,这样方便维护和管理!

临外一部分人认为 多个表 共用一个序列也是可以的!

我们说“某种说法”正确,就要拿出“证据”,证明“这个说法”的“对立说法”在某种情况下是不合理的!

现在,我要证明“每个表一个序列”更好:

假设两个表共用一个序列,同时进行批量添加,有没有可能出现某个序列值同时被这两个表的某两个记录拿来作为自己的主键?不可否认,是有这个可能的!
况且批量插入在web开发中要经常用到,即使用不到,多线程情景下也是有可能出现批量插入时遇到的问题!

我自己的一些理解,不正确之处望高人海涵,如果你有充分的理由,请不吝赐教!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值