社区
Oracle
帖子详情
关于oracle序列的问题
kaixinmengya
2010-02-08 10:11:13
我创建了一个序列,比如seq_no,我初始值设置的是1,增量是1,缓冲是2。
我希望的是这个序列能一直从1往上增加,1、2、3、4等等。但是我发现有的时候会出现中间的序列号断开的情况,比如1完了之后,下次就到3了,2没有。我在产生1之后,重新启动过数据库,不知道是否和这个有关呢?虽然少一两个序列值影响不大,但是还是希望有什么办法能够让序列值自动连续下来,不丢失最好。
请问大家有什么好的办法吗?谢谢了先~
...全文
174
9
打赏
收藏
关于oracle序列的问题
我创建了一个序列,比如seq_no,我初始值设置的是1,增量是1,缓冲是2。 我希望的是这个序列能一直从1往上增加,1、2、3、4等等。但是我发现有的时候会出现中间的序列号断开的情况,比如1完了之后,下次就到3了,2没有。我在产生1之后,重新启动过数据库,不知道是否和这个有关呢?虽然少一两个序列值影响不大,但是还是希望有什么办法能够让序列值自动连续下来,不丢失最好。 请问大家有什么好的办法吗?谢谢了先~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vber1010
2010-02-08
打赏
举报
回复
原来有这回事 一直没在意过
ACMAIN_CHM
2010-02-08
打赏
举报
回复
不一定和重启有关,有时你可以seq.nextvalue 但并示使用这个号码,也会导致跳号。
suiziguo
2010-02-08
打赏
举报
回复
NOCACHE肯定有性能影响。
如果不是多实例集群环境,可以考虑。但ORACLE强烈推荐cache之。
另外,只要存在rollback可能,序列号就会不连续。
冒昧多说句:触发器不是好办法。
不用序列,可以新建一张表,记录业务表中现有最大序号。当业务插入数据提交时,同时每次更新配置表的最大ID。写在一个事务中,这样,回滚时,业务表未插入数据的话,配置表也不会被更新。当然,这样对维护和性能也有影响,呵呵。
仅供参考。
kaixinmengya
2010-02-08
打赏
举报
回复
呵呵,原来是这么回事啊。nocache是不是就是把缓冲设置为0啊?这样的话我想序列应该是能连续起来了,只是不用缓冲的话是不是对性能会有一定影响呢?当然我现在对性能还没有什么要求,因为并不是有多大的数据并发执行的。
to java3344520:我刚接触数据库不久,懂的只是还不多,还不了解什么是触发器啊?⊙﹏⊙b汗,我得赶快学学其他的知识了。呵呵
luhui436
2010-02-08
打赏
举报
回复
[Quote=引用 3 楼 siakang 的回复:]
如果指定CACHE值,oracle就可以预先在内存里面放置一些sequence,这样存取的快些。
cache里面的取完后,oracle自动再取一组到cache。
使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
[/Quote]
学习
iqlife
2010-02-08
打赏
举报
回复
序列不能满足你要求的话,用触发器吧
siakang
2010-02-08
打赏
举报
回复
如果指定CACHE值,oracle就可以预先在内存里面放置一些sequence,这样存取的快些。
cache里面的取完后,oracle自动再取一组到cache。
使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的sequence就会丢失. 所以可以在create sequence的时候用nocache防止这种情况。
yuzhenhuan01
2010-02-08
打赏
举报
回复
还有这种说法啊
学习了
suiziguo
2010-02-08
打赏
举报
回复
是的,和你重启数据库有关。
重启时CACHE的序列号会丢失。
另外,回滚也会导致序列号不连续。
这两种序列机制本身无法解决,呵呵。
21天学通
Oracle
1.2.3 安装中需要注意的
问题
27 1.3 本章小结 28 1.4 习题 28 第2章
Oracle
常用工具(教学视频:7分钟) 29 2.1 Net Configuration Assistant(网络配置助手) 29 2.1.1 监听程序配置 29 2.1.2 命名方法配置 ...
oracle
使用教程
oracle
使用教程包括。
oracle
函数大全,
oracle
数据导入导出,
oracle
序列
,
oracle
9i教程
Oracle
入门课程
12、
Oracle
集合运算 13、
Oracle
视图 14、
Oracle
序列
15、
Oracle
索引 16、
Oracle
基本语法 17、
Oracle
数据类型 18、
Oracle
变量 19、
Oracle
运算符 20、
Oracle
条件控制 21、
Oracle
循环 22、
Oracle
循环控制 23、
Oracle
...
五、
Oracle
序列
一、
Oracle
序列
Oracle
数据库
序列
详解
前言:做过web开发的人员基本上都知道,数据库表中的主键值有的时候我们会用数字类型的并且自增。... 一、什么是
序列
序列
: Sequence 是
oracle
提供的用于产生一系列唯一数字的数据库对象。由于or...
Oracle
17,082
社区成员
55,236
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章