본문 바로가기

OR

ORACLE OPTIONAL CONDITION v1.0 ORACLE OPTIONAL CONDITION from 오라클 성능 고도화 원리와 해법 1 | 비투엔 1. 선택적 검색 조건 쿼리 조건절의 값은 경우에 따라 생략되기도 한다. 이는 구글의 상세 검색에서도 볼 수 있다. ‘특정 키워드를 포함’, ‘특정 키워드를 미포함’ 과 같이 말이다. 이들에 대한 입력은 어디까지나 사용자의 선택이며 공란이 되어도 전혀 문제가 없다. 여기서 조건절에 대한 입력이 생략이 되어도 쿼리가 에러없이 수행되기 위해 다음과 같은 키워드를 사용한다. OR, LIKE, NVL, DECODE, UNION 2. 선택적 검색 예제 A. OR Query 를 에러 없이 수행하기 위해 조건절을 다음과 같이 사용할 수 있다. ( a = :a or a = a ) 이와 같이 조건을 사용하면 항상 ful.. 더보기
ORACLE ELIMINATE OR CLAUSE v1.0 ORACLE ELIMINATE OR CLAUSE from 1. ORACLE ELIMINATE OR CLAUSE OR 연산은 플랜에 악영향을 끼치는 경우가 더러 있다. 그 중 대표적인 경우로 INDEX 가 있음에도 불구하고 FULL SCAN 을 하게 되는 경우가 있다. 부분범위 처리 (NESTED LOOP JOIN) 을 하면 더 적은 블록으로 원하는 결과 달성이 가능한데 말이다. 또 다른 경우로 filter 처리를 하게 되는 경우가 있는데 Driving 건수가 많아 비효율적으로 풀리는 경우도 있다. 2. 예제 select first_name,last_name,salary,JOB_ID from employees where salary > 7000 and ( job_id = :b0 or job_id in (s.. 더보기