SQLP

시험 직전 요약장

판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.

이론 목록

Scalar Subquery Cache·Result Cache·DETERMINISTIC: 재사용과 정확성

원래 이론 →

판단 기준

정확한 비용은 환경마다 다르지만 다음 구조로 생각할 수 있습니다.

예시·텍스트
Cache 이득
≈ 반복 실행 횟수 × 원래 계산 비용
 - Cache Lookup 비용
 - Cache 생성 비용
 - Invalidation·재생성 비용
 - Result Cache Memory·TEMP 비용
 - Threshold 도달 전 실행 비용
이 부분의 원문 →

헷갈리는 개념

Function Result Cache의 인수 비교는 PL/SQL의 일반 = 비교와 완전히 같지 않습니다.

도식
NULL 인수
→ Cache Hit 비교에서는 NULL과 NULL이 같은 Key로 취급

Non-NULL Scalar
→ 값의 표현이 동일한지 엄격하게 비교
→ CHAR 'AA'와 'AA '가 별도 Entry가 될 수 있음

인수 정규화 방식과 데이터 타입이 Cache Entry 수에 영향을 줄 수 있습니다.

이 부분의 원문 →

대표 계산·예제

예시·텍스트
Outer A-Rows      = 100,000
상관 Key NDV      = 500
Subquery Starts   = 650

실제 Starts가 Outer 행 수보다 크게 작다면 실행 중 재사용이나 다른 최적화가 영향을 주었을 가능성을 검토할 수 있습니다.

예시·텍스트
Outer A-Rows      = 100,000
Subquery Starts   = 100,000

반복 실행이 거의 그대로 발생했다면 Join·사전 집계·LATERAL 대안과 비교합니다.

실행계획의 Starts는 Row Source 시작 횟수이므로 내부 Cache Hit 전체를 단독으로 설명하지는 못합니다. 다음을 함께 사용합니다.

예시·텍스트
Outer A-Rows
상관 Key NDV
Subquery Starts
Inner Buffers·A-Time
SQL Trace
함수 호출 Counter
전체 Fetch 범위

또한 Scalar Subquery 실행 중 재사용은 Server Result Cache의 V$RESULT_CACHE_OBJECTS에 사용자가 관리하는 Entry로 나타나는 기능과 구분합니다. Statement 종료 후 여러 Session이 공유하는 Cache라고 가정하지 않습니다.


이 부분의 원문 →

내 최근 연습 오답

현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.

학습 기록 →

오답 기록을 확인하고 있습니다.