[Oracle SQL Tuning General] 비교연산자에 Negative(Not)사용시 인덱시 사용에 관한.. DataBase General

상황) 부서코드가 '학학'이 아닌 비교연산자를 사용하는 경우
보통 비교연산자에 ~한 경우가 아닐경우의 비교연산자를 '<>' 를 사용하게 되는데 보통 인덱스는 한 테이블의 10% 의 결과 집합일 경우 인덱스를 사용하게 된다. 이럴경우 어떻게 해야 인덱스를 사용할 수 있게 될까?

EX)

SELECT * FROM XXX
WHERE deptcode <> '학학'

====================='학학'===============================================================================

SELECT * FROM XXX
WHERE NOT EXISTS (SELECT '' FROM XXX B WHERE (B.DEPTCODE = '학학') AND (A.DEPTCODE = B.DEPTCODE))

와 같이 하면 인덱스를 사용하면서도 Ex)에 나와 있는 결과집합과 동일한 결과집합을 얻을 수 있다.

아신다구요?? 댓글좀 달아줘 ㅡㅠㅡ

덧글

댓글 입력 영역


 

 

트위터 위젯

믹시

믹시