社区
基础和管理
帖子详情
Sequence的问题
xcrow713
2009-09-11 03:05:04
在oracle中,在insert数据的存储过程中使用
SELECT Sequence.NEXTVAL INTO id FROM dual
会有并发问题么
...全文
273
18
打赏
收藏
Sequence的问题
在oracle中,在insert数据的存储过程中使用 SELECT Sequence.NEXTVAL INTO id FROM dual 会有并发问题么
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yubin88
2009-09-12
打赏
举报
回复
不会
srt266
2009-09-11
打赏
举报
回复
[Quote=引用 4 楼 xcrow713 的回复:]
我说的并发是在插入数据的时候,通过Sequence.NEXTVAL 会不会拿到相同的值
[/Quote]
如果可以循环,就有可能拿到相同的值
fuyou001
2009-09-11
打赏
举报
回复
[Quote=引用 14 楼 xcrow713 的回复:]
我对oracle不熟,oracle的sequence和SQL的自增长列不同,oracle的sequence是维护在系统表中,所以我担心在读取sequence时候会有脏读
[/Quote]
楼主多滤了
oracle 与sql server锁的机制不一样
Ming_Je_Hui
2009-09-11
打赏
举报
回复
我是个Oracle初学者 以前用的都是sqlserver 2000
感觉Oracle的sequence貌似sqlserver 2000 的自动增长列样的
应该不会出现问题吧 。。。
xcrow713
2009-09-11
打赏
举报
回复
我对oracle不熟,oracle的sequence和SQL的自增长列不同,oracle的sequence是维护在系统表中,所以我担心在读取sequence时候会有脏读
inthirties
2009-09-11
打赏
举报
回复
[Quote=引用 12 楼 xcrow713 的回复:]
我知道,我是想知道会不会有并发问题
[/Quote]
首先sequence肯定是同步的
这点都做不到,谈何sequence。
xcrow713
2009-09-11
打赏
举报
回复
我知道,我是想知道会不会有并发问题
inthirties
2009-09-11
打赏
举报
回复
不用cache就性能稍微差点哟,
不过不会跳号。
shiyiwan
2009-09-11
打赏
举报
回复
可以测试下,sequence建立时加nocache。
xcrow713
2009-09-11
打赏
举报
回复
那如果不用cache呢
inthirties
2009-09-11
打赏
举报
回复
Sequence里可以用cache选项,这是一个很好的option
首先sequence肯定是同步的
cache选项,说白点就是一次取多个值cache住,都用完了在去取一批。
所以不会冲号,但是可能跳号
以前我们自己在mysql上写的sequence的机制就是类似oracle的cache的处理的,一次取多个到内存里,都用完了就去数据库取一批过来。自己来控制并发。
是一样的道理
xcrow713
2009-09-11
打赏
举报
回复
我想问的是有没有这个可能性产生并发问题,用缓存的话会造成sequence的不连续,而且如果oracle没有并发防范机制的话,用缓存应该也是一样的。
其实主要问题是SELECT Sequence.NEXTVAL INTO id FROM dual的时候会不会加锁
小灰狼W
2009-09-11
打赏
举报
回复
这不可能
在大多平台上,都有很多操作员同时在处理数据
如果会取到相同的值
问题就严重了..
bai_jiong
2009-09-11
打赏
举报
回复
将sequence作一个缓存,缓存的数据量可以根据(1)sequence的数据区间(2)你的系统的并发量 两者综合考虑,如果没有缓存的话,每次取一个sequence数值时,都要执行一些额外的sql语句来维护sequence的数据字典。这样,如果你的并发量较大的话,可能会引起性能问题。从而导致并发的问题 。
xcrow713
2009-09-11
打赏
举报
回复
我说的并发是在插入数据的时候,通过Sequence.NEXTVAL 会不会拿到相同的值
小灰狼W
2009-09-11
打赏
举报
回复
你担心的并发问题具体是指?
赋值的话你可以直接
insert into tablename values(Sequence.NEXTVAL ...);
执行每一次sequence值自动增加
一般不会有什么并发问题
xcrow713
2009-09-11
打赏
举报
回复
为什么?
小灰狼W
2009-09-11
打赏
举报
回复
不会,放心吧
oracle移植序列,数据迁移后序列
sequence
问题
我们在日常维护数据库过程中,经常会通过exp、expdp,imp、impdp等导入导出数据。但通过这种方式进行的数据迁移,如果使用到序列,由于序列缓存(cache)的
问题
,如果使用序列做主键,经常会发生保存不了(违反唯一约束的
问题
),处理起来也比较麻烦。方法1:针对此类
问题
的处理,我总结了一下。最好的方法是在导入前,将序列的信息提取出来,生产sql脚本。导入完成后,删除导入的序列,通过sql脚本重...
用Python进行神经网络编程时,出现ValueError:setting an array element with a
sequence
问题
Python编程时出现ValueError:setting an array element with a
sequence
问题
。这个
问题
是由于数组append时前后数组shape不一致导致的,必须一致才能append。 解决方式如下: (1)既然是由于存在数组shape不一致导致的错误,那我们首先找出不一致的地方; 找出将图片转化成数组的代码,例如我这里是image=convert_image_to_array(image_directory),在这句代码后面加上print(image.shape) ,这
python写文件illegal multibyte
sequence
问题
python写文件illegal multibyte
sequence
问题
Python出现ValueError: setting an array element with a
sequence
问题
Python编程的时候出现如下
问题
: ValueError: setting an array element with a
sequence
. 这个
问题
是由于数组append的时候,前后数组 shape不一致导致的,必须一致的才能append. ...
java.security.InvalidKeyException: IOException : algid parse error, not a
sequence
问题
处理
java.security.InvalidKeyException: IOException : algid parse error, not a
sequence
问题
处理 项目中使用PKCS8进行加密签名报错 错误原因 :传入的私钥串privateKey格式不是PKC8格式,其中错误的privateKey是通过openssl生成的私钥,将文件中去掉私钥头(-----BEGIN RSA PRIVATE KEY-----)和私钥尾(-----END RSA PRIVATE KEY-----)得到 注: 符合
基础和管理
17,377
社区成员
95,128
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章