Derived condition pushdown optimization
1. 구체화된 파생 테이블이 있는 쿼리에 대한 derived condition pushdown 구현
WHERE 조건을 서브쿼리로 이동하면 종종 처리해야 하는 행의 수가 줄어들어 쿼리 실행에 필요한 시간 감소
파생 테이블이 집계 또는 윈도우 함수를 사용하지 않는 경우 외부 WHERE 조건을 구체화된 파생 테이블로 직접 푸시다운 가능
파생 테이블에 GROUP BY가 있고 윈도우 함수를 사용하지 않는 경우 외부 WHERE 조건을 파생 테이블에 HAVING 조건으로 푸시다운 가능
파생 테이블이 윈도우 함수를 사용하고 외부 WHERE가 윈도우 함수의 PARTITION 절에 사용된 컬럼을 참조하는 경우에도 WHERE 조건을 푸시다운 가능
DBMS에 추가된 optimizer_switch 시스템 변수의 derived_condition_pushdown 플래그는 기본적으로 활성화
LIMIT 절을 포함하는 파생 테이블에 사용할 수 없음
DBMS 업그레이드 이전에는 쿼리에 UNION이 포함된 경우 최적화를 사용할 수 없음
서브쿼리를 사용하는 조건 자체는 푸시다운할 수 없으며, 아우터 조인의 내부 테이블이기도 한 파생 테이블에는 WHERE 조건을 푸시다운 할 수 없음
Last updated
Was this helpful?