where절에 number, varchar2 자동형변환에 따른 인덱스의 사용유무(where절의 비교대상 컬럼의 데이터 타입이 다르면 number로 자동 형 변환된다.)
SQL> desc myemp1
이름 널? 유형
----------------------------------------- -------- ---------------
EMPNO NOT NULL NUMBER
ENAME VARCHAR2(100)
DEPTNO VARCHAR2(1)
ADDR VARCHAR2(100)
SAL NUMBER
SUNGBYUL VARCHAR2(1)
* myemp1 데이터건수 2000만건
* empno는 primary key 인덱스, deptno에도 인덱스가 생성되어 있다.
* where절의 비교대상 컬럼의 데이터 타입이 다르면 number로 자동 형 변환된다.
처음예문은 deptno 인덱스를 사용못하는 형태로 변환된다.(인덱스컬럼에 변환이 생김으로 인덱스사용불가)
-- deptno는 varchar2 컬럼
-- 0초
select count(*) from myemp1
where deptno = '3'
--14초
select count(*) from myemp1
where deptno = 3
==> 자동형변환
select count(*) from myemp1
where to_numner(deptno) = 3
-- empno 컬럼은 number
--0초
select * from myemp1
where empno = 1234
--0초
select * from myemp1
where empno = '1234'
==> 자동형변환
select * from myemp1
where empno = to_number('1234')
오라클자바커뮤니티에서 운영, 개발자 전문교육, 개인80%환급 오엔제이프로그래밍실무교육센터(www.onjprogramming.co.kr)평일주간(9:30~18:30) 개강
(4/15)[기업100%환급]Spring ,MyBatis,Hibernate실무과정
(4/21)C#4.0,ADO.NET,Network 프로그래밍
(4/21)[기업100%환급]SQL기초에서 Schema Object까지
(4/21)[기업100%환급]PL/SQL,ORACLE HINT,TUNING
(4/28)[기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
평일야간(19:00~22:00) 개강
(4/14)웹퍼블리싱 마스터
(4/15)Spring3.X, MyBatis, Hibernate실무과정
(4/15)C#,ASP.NET마스터
(4/15)SQL초보에서실전전문가까지
(4/22)안드로이드개발자과정
주말(10:00~18:00) 개강
(4/19)웹퍼블리싱 마스터
(4/19)SQL초보에서실전전문가까지
(4/19)C#,ASP.NET마스터
(5/03)자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
(5/03)Spring3.X, MyBatis, Hibernate실무과정
(5/03)안드로이드개발자과정
댓글 없음:
댓글 쓰기