[Oracle] 서브 쿼리 관련 힌트절 (no_unnest, no_merge, push_subq, push_pred)
2023. 4. 4.
1. no_unnest, unnest no_unnest : 중첩된 서브쿼리(nested subquery) 를 풀어내지 말고 그대로 수행하라고 옵티마이저에게 지시하는 힌트절 필터오퍼레이션으로 처리한다. NL 조인과 처리 루틴이 같지만 필터는 메인쿼리의 한 로우가 서브쿼리의 한 로우와 조인에 성공하는 순간 진행을 멈추고(exists), 메인쿼리의 다음 로우를 계속 처리한다는점과 캐시기능을 갖는 다는 점이 다르다. 메인 쿼리가 항상 Driving 테이블로 사용되고, 서브쿼리의 filter가 가장 나중에 수행된다. Unnesting : 메인과 서브쿼리 간의 계층구조를 풀어 서로 같은 레벨로 만들어 준다. --## NO_UNNEXT select employee_id, first_name from hr.employ..