Search code examples
oracledatabase-performance

Sequence cache and performance


I could see the DBA team advises to set the sequence cache to a higher value at the time of performance optimization. To increase the value from 20 to 1000 or 5000.The oracle docs, says the the cache value,

Specify how many values of the sequence the database preallocates and keeps in memory for faster access.

Somewhere in the AWR report I can see,

select SEQ_MY_SEQU_EMP_ID.nextval from dual

Can any performance improvement be seen if I increase the cache value of SEQ_MY_SEQU_EMP_ID.

My question is:

Is the sequence cache perform any significant role in performance? If so how to know what is the sufficient cache value required for a sequence.


Solution

  • We can get the sequence values from oracle cache before them used out. When all of them were used, oracle will allocate a new batch of values and update oracle data dictionary. If you have 100000 records need to insert and set the cache size is 20, oracle will update data dictionary 5000 times, but only 20 times if you set 5000 as cache size.

    More information maybe help you: http://support.esri.com/en/knowledgebase/techarticles/detail/20498