2013년 12월 26일 목요일

MINUS를 사용한 경우의 SQL쿼리 튜닝[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육]

MINUS를 사용한 경우의 SQL쿼리 튜닝[재직자무료교육/프로그래머교육/구로디지털IT교육,오라클/자바/닷넷/C#/iOS/안드로이드/아이폰교육] 



구로디지털 오엔제이프로그래밍실무교육센터
 

 
[실습]
 
-      실습을 위한 예제 테이블 및 데이터는 아래 링크에서 확인 바랍니다.
 
myemp1 : 1000만건
myemp1_old : 100만건
mydept : 5
 
테스트환경 : oracle 11g



1번 문장과 2번 문장은 20초 정도 차이가 났다. minus로 빼는 연산인 경우 select 리스트의 컬럼에 대해 인덱스를 만들고 index_ffs 힌트를 이용해 인덱스 패스트 풀 스캔하면 조금 성능이 나아 진다.

테스트 해보라...

index_ffs 힌트는 다음 URL을 참고
(http://www.onjprogramming.co.kr/oraclejavanew/oraclejava/bbs/board.php?bo_table=LecHINT&wr_id=64&sca=&sfl=wr_subject&stx=index_ffs&sop=and)

1.
with a as (
select ename, sal from myemp1
minus
select ename, sal from myemp1_old
)
select count(ename) from a   --47초

2.
with a as (   --27초
select /*+ index_ffs(e1 IDX_MYEMP1_ENAME_SAL) */ ename, sal from myemp1 e1
minus
select /*+ index_ffs(e1 IDX_MYEMP1_OLD_ENAME_SAL) */ ename, sal from myemp1_old e2
)
select count(ename) from a
 
======================================================================================
[오프라인 개강예정강좌, 오프라인교육장에 오시면 보다 자세히 배울 수 있습니다.]

오라클자바커뮤니티에서 운영하는 개발자 전문교육 ,개인80%환급(
www.onjprogramming.co.kr)

[주간]
  [01/06][기업100%환급]Spring ,MyBatis,Hibernate실무과정
  [01/06][기업100%환급]SQL기초에서 Schema Object까지
  [01/06]C#,ASP.NET마스터
  [01/13]iPhone 하이브리드 앱 개발 실무과정
  [01/13][기업100%환급]PL/SQL,ORACLE HINT,TUNING
  [01/13][기업100%환급]자바기초에서 JDBC, Servlet/JSP까지
  [01/13][기업100%환급]HTML5,JavaScript,Ajax,jQUERY,JSON
  [01/16][채용확정]오라클자바실무개발자신입과정

[평일야간]
  [01/07]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis까지
  [01/07]안드로이드개발자과정
  [01/08]C#,ASP.NET마스터
  [01/09]iPhone하이브리드앱개발실무과정
  [01/09]웹퍼블리싱 마스터
  [01/09]Spring3.X, MyBatis, Hibernate실무과정
  [01/24]SQL초보에서실전전문가까지

[주말]
  [12/28]C#,ASP.NET마스터
  [01/04]닷넷실무자를위한WPF개발자과정
  [01/04]Spring3.X,MyBatis,Hibernate실무과정
  [01/11]JAVA&WEB프레임워크실무과정
  [01/11]안드로이드개발자과정
  [01/11]SQL초보에서전문가까지
  [01/18]웹퍼블리싱 마스터
 
홈페이지 바로가기 : http://www.oraclejavanew.kr

댓글 없음:

댓글 쓰기