latch를 mutex로 변경해나가고 있다.

latch: shared, exclusive

mutex: shared, exclusive

https://www.databasejournal.com/oracle/oracle-mutexes/ 에 따르면, 아래 3가지 이득이 있다고 한다.

  1. Less potential for false contention.
  2. Replace both latches and pins.
    1. latch와 pin 두가지 역할을 모두 수행 가능.
    2. 첫번째로 latch와 같이 한번에 하나의 세션이 접근하도록 serialization 역할
    3. 두번째로 접근중인 세션 수를 count하여 존재할 경우 밀려나지 않게 해주는 pin 역할 라이브러리 캐시를 예로 들면, 커서에 각각 mutex가 존재하기때문에 shared 모드이면 접근 중인 수를 count해서 0이 되지 않으면 두고, 0이되면 밀려나게
  3. 실행 속도
    1. latch는 코드가 110byte정도(150~200개의 instruction)
    2. mutex는 거의 28byte(30~35개 instruction)

이외 참고

http://www.gurubee.net/wiki/pages/28606823

dictionary cache

library cache