본문 바로가기

UNION ALL2

Join Factorization Oracle에서 or 조건을 처리하는 연산으로 OR-EXPANSION이라고 불리우는 동작이 있습니다. UNION ALL 로 풀어서 작업을 수행하는 CONCATENATION.or-expansion이라고 합니다. 힌트는 /*+ USE_CONCAT */를 사용합니다. UNION ALL로 풀지말고 수행하는 CONCAT을 방지하는 힌트는 /*+ NO_EXPAND */ 가 있습니다. 두 힌트에 대한 내용은 아래 사이트에서 설명한 내용을 해석하였습니다. USE_CONCAT USE_CONCAT 힌트는 UNION ALL 집합 연산자를 사용하여 쿼리의 WHERE 절에 있는 결합된 OR 조건을 복합 쿼리로 변환하도록 강제합니다. 일반적으로 이러한 변환은 연결을 사용하는 쿼리의 비용이 연결을 사용하지 않는 비용보다 저렴한 경.. 2022. 10. 28.
UNION 과 UNION ALL 개념 수학의 집합에서 합집합과 비슷한 개념입니다. 두개이상의 쿼리 결과값을 합하여 보여줍니다. UNION : 중복값이 있다면 한번만 보여주고, 정렬해서 보여줍니다. UNION ALL : 중복값이 있어도 그대로 보여주고, 정렬없이 그대로 보여줍니다. 이 외에도 교집합의 INTERSECT , 차집합의 MINUS가 있습니다. 실제로 UNION 이 정렬까지 포함인지, ORDER BY 를 사용하여도 동일한지 확인해보겠습니다. 테스트 테스트 테이블(EMP) SQL> select * from EMP; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ------ -------------------------- --------- -.. 2022. 10. 26.