2014년 11월 6일 목요일

[오라클 CHAR형과문자상수(Literal)비교방법]문자형(CHAR TYPE)고 문자상수(문자리커럴) 비교시 RTRIM을 사용하지마세요[컴퓨터/IT/국비교육/무료교육/국비지원/국비지원학원/프로그램/서울자바/서울국비지원/IT국비/안드로이드/아이폰/자바국비]

[오라클 CHAR형과문자상수(Literal)비교방법]문자형(CHAR TYPE)고 문자상수(문자리커럴) 비교시 RTRIM을 사용하지마세요 

-- char type과 문자상수(문자리터럴)의비교 
-- where절에 char컬럼과 문자상수 비교시 절대 rtrim같은 함수를 사용하지 마세요. 
-- rtrim을 안해도 문자상수가 char로 변형되어 비교하므로 ... 
-- 만약 아래 예문처럼 인덱스컬럼에 rtrim을 쓰면 인덱스를 사용하지 못하므로 성능 저하! 

myemp1 테이블은 2000만건 컬럼구조는 다음과 같다. 

desc myemp1 

이름                      유형 
--------------------- ------------- 
EMPNO          NOT NULL NUMBER 
ENAME                    VARCHAR2(100) 
DEPTNO                  VARCHAR2(1) 
ADDR                    VARCHAR2(100) 
SAL                      NUMBER 
SUNGBYUL                VARCHAR2(1) 

alter table myemp1 add ename2 char(100) 
-- ename값을 ename2로 이동시킴 
update myemp1 
set ename2 = ename 

-- ename2를 검색조건으로 조회, 일단 인덱스없이 해보자. 
-- 68초 
select * from myemp1 where ename2 = '마길동444' 

-- 이번에는 ename2로 인덱스를 생성한 후 다시 조회하자. 
create index idx_myemp1_ename2 on myemp1(ename2) 

-- 0초 
select * from myemp1 where ename2 = '마길동444' 

-- ename2컬럼이 char(100)라고 해서 우측공백을 제거하기 위해 rtrim을 사용하면 안된다 
-- 인덱스를 사용하지 못하므로 어마어마한 시간이 걸린다. 
-- rtrim을 사용안해도 '마길동444'가 char(100)형태로 자동 변환되어 비교된다. 

-- 67초 
select * from myemp1 where rtrim(ename2) = '마길동444'  (잘못된 쿼리) 

열공하세요~


 [개발실무&환급100%]SQL/자바/스프링/안드로이드/닷넷C#/웹퍼블… 오라클자바…12-272380
 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육…오라클자바…12-111727
53 [평일100%환급]Spring,자바&JSP,안드로이드,웹퍼블리싱,C#닷넷,S… 오라클자바…03-151548
52 [주말]C#,ASP.NET마스터 오라클자바…01-311641
51 [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… 오라클자바…01-312196
50 [평일주간야간,주말]C기본&자료구조,알고리즘 오라클자바…01-311300
49 [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정-… 오라클자바…01-191602
48 [평일야간,주말]안드로이드개발자과정(Android기초실무) 오라클자바…01-111443
47 [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… 오라클자바…01-031991
46 [개발실무&환급100%]SQL/자바/스프링/안드로이드/닷넷C#/웹퍼블… 오라클자바…12-272380
45 [기업100%환급]자바웹개발기초과정(JAVA,JDBC,JSP,Servlet,Aajx,… 오라클자바…12-191710
44 [평일주간야간, 주말]웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX… 오라클자바…12-141688
43 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… 오라클자바…12-111727
42 [기업100%환급]웹퍼블리싱마스터(HTML5,CSS3,JavaScript,jQUERY) 오라클자바…12-091371
41 [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 오라클자바…12-011596
40 [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… 오라클자바…12-011770
39 [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) 오라클자바…12-011248

댓글 없음:

댓글 쓰기