Oracle之cache缓存

定义:

就是说在序列使用之前,已经在内存里面生成了的为用户提供的一系列的序列号(Oracle默认是20个)。并非随用随取,而是已经准备好了的。

作用:

当发生大量并发请求申请序列时,为了避免性能瓶颈,Oracle允许用户提前生成 x 个序列号存放在内存中,当NextVal = x + 1 时,Last_Number = (x + 1) + x。

创建:
CREATE SEQUENCE sequence_name
[INCREMENT BY   step_value]				//步长
[START WITH   start_value]				//初值
[MAXVALUE   max_value | NOMAXVALUE]		//最大值
[MINVALUE   min_value | NOMINVALUE]		//最小值
[CYCLE | NOCYCLE]						//是否循环
[CACHE   cache_value | NOCACHE] 		//内存块的大小,默认20,即存放20个序列值。
注:

如果设置了缓存,当不小心出现问题导致数据库关闭时,缓存的数据可能就会消失,只会记得最后一个值(即Last_Number)。以默认cache 20为例:假设NextVal增长到21(此时的Last_number = 41),突然电脑罢工了,那缓存的东西就不在了,下次再开始时就会从41+1开始存入cache_value=20个序列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值