start with 1
last value 1
increment by 1
cache 20
cache
如何预分配值以及它如何受先前值的影响?
在几次参赛后,它显示了不同的结果。
答案 0 :(得分:4)
具有CACHE 20
设置的序列在每个实例上缓存20个值(因此RAC集群中的每个实例都在不同的缓存中工作)。
当你谈到“几次参赛后的不同结果”时,我不确定你的意思。我的猜测是,你说的是所产生的值存在差距 - 这是预期的,Oracle序列总是会有差距。当序列具有CACHE
设置时,间隙的一个来源是,如果序列老化了共享池(或者实例关闭),则会丢弃缓存的值。这不是差距的唯一来源,因此将序列设置为NOCACHE
不会消除差距。它将以牺牲性能为代价消除这种特殊的间隙来源。