PUSH_PRED 힌트는 메인 쿼리의 WHERE 조건을 서브쿼리 내부로 밀어넣어 서브쿼리에 대한 프레디케이트 푸시다운(Predicate Pushdown) 을 강제하는 힌트입니다. 특정 상황에서는 실행 성능을 최적화할 수 있습니다.
SELECT /*+ PUSH_PRED */ *
FROM (
SELECT emp.*, dept.dname
FROM emp
JOIN dept ON emp.deptno = dept.deptno
) sub
WHERE sub.sal > 3000; 위와 같은 구조에서 PUSH_PRED 힌트를 사용하면 sub.sal > 3000 조건이 서브쿼리 내부로 밀려들어가 조인 이후가 아니라 조인 전에 필터링될 가능성이 커집니다.
PUSH_PRED가 항상 성능을 향상시키는 것은 아닙니다. 경우에 따라서는 오히려 최적화된 실행 계획을 방해할 수도 있음.PUSH_SUBQINLINESELECT /*+ INLINE PUSH_PRED */ *
FROM (
SELECT emp.*, dept.dname
FROM emp
JOIN dept ON emp.deptno = dept.deptno
) sub
WHERE sub.sal > 3000; 이런 힌트를 조합하면 옵티마이저가 서브쿼리를 최적화하는 방식에 영향을 줄 수 있습니다.
결론:
PUSH_PRED는 서브쿼리 내에서 WHERE 조건을 미리 적용하여 불필요한 데이터 스캔을 줄이는 데 유용함.PUSH_SUBQ, INLINE 힌트와 함께 사용하면 더 효과적일 수 있음.코스피 8% 폭락, 서킷브레이커 발동, SK텔레콤 Claude AI 차단까지. 한국의 AI 레버리지 버블이 단 하루…
SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…
SNS 사진 1장으로 30초 만에 딥페이크 영상이 완성됩니다. 당신의 얼굴이 이미 범죄에 악용되고 있을 수…
달러/원 환율이 급등하는 이유와 실생활 영향을 정리했습니다. 지금 당장 활용할 수 있는 환전·투자 대응 전략까지…
미래에셋·미래에셋벤처투자·미래에셋생명이 동반 급등한 이유는 스페이스X 상장 기대감입니다. 세 회사가 스페이스X와 어떻게 연결되어 있는지 상세히 분석했습니다.
스페이스X 상장이 계속 미뤄지는 진짜 이유를 파헤쳤습니다. 화성 계획, 스타링크 분리, 국방 계약... 머스크가 절대…