database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 40894 게시물 읽기
No. 40894
IS NULL 관련 문의입니다.
작성자
이현정
작성일
2015-08-13 11:14
조회수
8,140

SELECT E.*
from J_EXEC E, SHI1.J_INST I
where E.J_INST_ID=I.J_INST_ID
and I.J_NAME='BATCH_121212345'
and E.E_TIME =''


J_EXEC 테이블에 INDEX_01 (J_INST_ID,E_TIME)
E_TIME은 컬럼 타입이 TIMESTAMP(6) 입니다.
and E.E_TIME IS NULL 을 다르게 표현 할수 있을까요?

이 글에 대한 댓글이 총 1건 있습니다.

 질문을 보면

아마도 인덱스가 타도록 하는 is null에 대하여 질문을 하시는 듯 합니다.

 

그런데 위의 sql과 인덱스를 보면 

 

and e.e_time is null이라고 정상적으로 사용하시면

 

e_time이 마지막 인덱스 컬럼이므로 해당 데이타가 유효하게 인덱스를 타서 데이타를 가져올만하다고 옵티마이저가 판단하면(즉 선택성이 높으면) 인덱스가 탑니다.

 

여기서 중요한 것은 j_inst_id 까지만 인덱스를 access로 타고 is null 을 filter로 걸리는 것이 아니라

is null 까지 합쳐서 access로 플랜이 나온다는 것입니다.

그 이유는 복합 인덱스의 경우는 전체가 null이 아닌 이상 유효 컬럼까지 not null 이면 인덱스가 생성되기 때문입니다.

김흥수(protokhs)님이 2015-08-13 17:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40897세로날짜를 가로로하고싶어요 [1]
김영주
2015-08-18
8543
40896이 쿼리 뭐가 문제인 걸루 보이세요? [1]
황춘호
2015-08-17
8667
40895다이나믹 쿼리 바인드 변수 [2]
나그네
2015-08-17
9003
40894IS NULL 관련 문의입니다. [1]
이현정
2015-08-13
8140
40893'트리거에 기본값' 이라고 혹시 아시는분 계시나요?
질문
2015-08-13
8186
40892sql lag 문의드립니다. [3]
뚜뚜
2015-08-07
8320
40891pro c 컴파일 후 에러메시지 입니다. 고견 부탁해요!
김영감
2015-08-06
8682
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다