[quote=引用 5 楼 n_e_e_d 的回复:] [quote=引用 1 楼 shiyiwan 的回复:] 不需要,sequence在多线程调用时依然可以保证产生的值唯一。 如果是想让生成的值连续,才需要用程序自行实现。
oracle的sequence总是在数据库中生成唯一值,即使当多个用户并发地引用同一sequence时也没有可察觉的等待或锁定。当多个用户使用 NEXTVAL 来增长序列时,每个用户生成一个其他用户不可见的唯一值。当多个用户并发地增加同一序列时,每个用户看到的值是有差异的。例如,一个用户可能从一个序列生成一组值,如 1,3,5和 6,而另一个用户并发地从同一序列生成值2,4,7和8。希望对你有帮助...
非要这样的话可以做两个sequence,把他们的范围错开
[quote=引用 1 楼 shiyiwan 的回复:] 不需要,sequence在多线程调用时依然可以保证产生的值唯一。 如果是想让生成的值连续,才需要用程序自行实现。
不需要,sequence在多线程调用时依然可以保证产生的值唯一。 如果是想让生成的值连续,才需要用程序自行实现。
17,078
社区成员
55,233
社区内容
加载中
试试用AI创作助手写篇文章吧