캐쉬 버퍼 체인에 대한 부분이 이제 latch 라는 과정에서 들수 있다.
SQL 문을 실행해서 원하는 결과를 얻으려면 - 블록이 필요하다.
오라클의 경우 버퍼 캐쉬에 블록을 올려놓고 이를 읽어 원하는 결과를 얻어낸다....!
그래서 내가 원하는 볼록이 버퍼 캐시에 있는지 없는지 확인을 이제
원하는 블록을 어떻게 찾을까요?
- dba 라고 불리우는 data block adddress 와 블록 종류를 나타내는 class 가 있다.
체인? 체인이란 같은 함수 값을 가진 블록들을 나열한 것이다 .
==> 버퍼캐시에서 원하는 블록을 찾으려는 프로세스는 반드시 cache buffer chairs latch 를 획득해야한다.
동시에 많은 프로세스가 체인에 접근하려면 이 래치에 대한 경합이 발생함
cache buffers chains 래치를 획득하는 과정에서 경합이 발생하여 나타내는 이벤트이다.
- 버퍼 캐시를 사용하기 위해 해시 체인을 이제 래치 획득하는 과정에서 경합이 발생해서 나타내는 이벤트이다.
- 버퍼 캐시를 사용하기 위해 해시 체인을 탐색하거나 변경하려는 프로세스느는 해당 체인을 관리해야한다
- 이벤트 대기시간을 기하급수적으로 증가한다.
[ latch ]
- latch 는 뭐냐면 이제 libary cahce 에서 이제 latch 를 이제 획득할 수 있도록 하고.
[ 비효율적인 SQL 문장 사용 ]
cache buffer chains 래치 대기가 발생하는 시기에 뷰를 통하여 SQL 을 확인
TRACE 를 통하여 과다한 처리범위를 발생시키지 않는지에 대한 여부를 확인카
- SQL 문장 튜닝
'이유's Programming > DBMS' 카테고리의 다른 글
metadata - blocking 된 이슈 (0) | 2025.01.18 |
---|---|
SQL server profiler (0) | 2025.01.18 |
index 잘 타지 못하는 경우 (0) | 2025.01.15 |
database paraellel 관리 (0) | 2025.01.15 |
DBMS 의 구조를 파악해보자 (0) | 2024.10.16 |