흐르는 시간의 블로그...

오라클 유지보수 업체에서 stats pack을 통해 오라클 상태를 점검하였다.

그 결과로 나타난 것중 하나가 시퀀스에 nocache를 사용한 것이다.


지식이 짧았던 탓에 시퀀스에 nocache를 사용하는 것이 어떤 결과를 낳는지 몰랐다.

결국 특정 테이블에 대한 미친듯한 접근을 발생시킨다.


이후 nocache를 cache 128로 수정 하였다.

(향후 서비스 특성을 고려하여 8000까지 증가 시켰다)


문제는 또 발생 했다.

cache로 변경한 이후 데이터 순서가 꼬였다.

cache noorder 상태로 된것이다.


이후 cache order로 변경하며 찾은 자료 중 자세하고 괜찮은 내용은 아래의 것이다.

실제로 noorder 보다 성능이 떨어진 것처럼 체감상 느껴지기도 하였다.


물론 nocache에서 cache로 바꾸었을때는 확연한 차이가 있었다


자세한 것은 stack overflow의 아래 링크를 참고하기 바란다.


결론은 cache noorder 가 제일 성능이 좋고 cache order가 그 다음이다.

nocache는 성능 비교할 대상이 아니다.

...


Oracle Sequence value are not ordered