|
如果不允许断号,就不应该用oracle的sequence. 这是原则性的问题.
许多进程同时使用没有cache属性的sequence时,可能大量发生row cache lock事件等待。对没有使用cache 的sequence,如果调用nextval,则每次数据字典信息都应被修改,以ssx模式获取row cache lock。因为ssx之间不存在共享性,所以在此过程中发生争用。
rac环境下,使用cache属性的同时,可以保障各节点之间sequence的顺序是可能的。
在RAC多节点环境下,Sequence的Cache属性给性能带来的影响比单节点环境更严重。因此尽量赋予cache+noorder属性,并要给予足够的cache值。如果需要保障顺序,必须赋予cache+order属性。但这时为了保障顺序,实例之间需要不断的交换数据。因此性能稍差。 |
|