2014년 9월 9일 화요일

실행계획 해석하기(1)[오라클개발자교육/오라클/ORACLE강좌/오라클교육잘하는곳/오라클교육추천/ORACLE실무교육/ORACLE/ORACLE교육/ORACLE학원/오라클실무교육]

실행 계획 해석하기(1) 

실행계획을 예를 들어 하나씩 해석해 보도록 하죠^^ 

이전의 강좌에도 있지만 실행 계획은 일반적으로 아래와 같은 기준으로 해석 됩니다. 

-        실행계획의 가장 안쪽으로 들여 쓰기 된 것이 먼저 수행 
-        실행 계획의 각 문장은 들여쓰기간 한 단계 덜된 부모 문장에 종속 
-        동일하게 들여 쓰기 된 문장이 여러 개 있는 경우 가장 위 문장이 우선 실행 
-        인덱스를 경유하여 테이블을 Access하는 두 실행 계획은 하나로 취급(테이블 Lookup에 사용되는 Index Scan을 의미) 

아래의 예를 보도록 할까요? 

SQL> SELECT /*+ FULL(D) */ 
              ENAME, 
              SAL, 
              JOB 
      FROM  DEPT D 
      WHERE DEPTNO = 20 
      UNION ALL 
 SELECT /*+ INDEX(E IDX_DEPT_DEPTNO) */ 
              ENAME, 
              SAL, 
              JOB 
      FROM  DEPT E 
      WHERE DEPTNO = 30 

Execution plan 
---------------------------------------------------------------- 
SELECT STATEMENT Optimizer=CHOOSE 
UNION-ALL(1) 
 TABLE ACCESS (FULL) OF ‘DEPT’(2) 
 TABLE ACCESS (BY INDEX ROWID) OF ‘DEPT’(3) 
  INDEX (RANGE SCAN) OF ‘IDX_DEPT_DEPTNO’ (NON_INIQUE) (4) 

가장 들여쓰기가 많이 되어있는 안쪽은 (4)번입니다. 그런데 인덱스를 경유하여 테이블을 Access하는 두 실행 계획은 하나로 취급한다고 하였으므로 (3)과(4)는 하나의 문장으로 취급합니다.그러므로 (2)번 문장이 제일 먼저 수행되며 그 다음 (3),(4)문장, 그리고 (1)번 문장이 수행됩니다. 즉 DEPT TABLE에서 DEPTNO가 20인 데이터는 (2)번에 의해 DEPT TABLE을 FULL SCAN해서 얻었으며 30인 데이터는 IDX_DEPT_DEPTNO 인덱스를 통하여 얻어진 ROWID 값을 이용하여 DEPT TABLE을 Access하여 얻은 것 입니다. 그런 다음 (1)에 의해 두 데이터를  UNION ALL 한 것이죠… 



 기업100%환급/오라클/자바/스프링/안드로이드/닷넷C#/jQUERY개발… 오라클자바…12-271786
 [채용예정교육]오라클자바개발잘하는신입뽑기2개월과정,교육전취…오라클자바…12-111302
53 [평일주간]100%환급6건,안드로이드,자바,C#,스프링3.2,SQL,힌트/… 오라클자바…03-151043
52 [주말주간]C#, ASP.NET마스터 오라클자바…01-311201
51 [평일,기업100%환급]SQL기초에서 Schema Object까지 오라클자바…01-311001
50 [평일야간]HTML5, CSS3,Ajax, jQuery마스터과정 오라클자바…01-31900
49 [평일주간,평일야간,주말]Spring,MyBatis,Hibernate개발자과정 오라클자바…01-191202
48 [평일주간,평일야간,주말]안드로이드개발자과정 오라클자바…01-111067
47 [평일야간,주말주간]JAVA,Network&WEB&Framework 오라클자바…01-031546
46 기업100%환급/오라클/자바/스프링/안드로이드/닷넷C#/jQUERY개발… 오라클자바…12-271786
45 [평일야간,주말]자바기초에서JSP,Ajax,jQuery,Spring3.2,MyBatis… 오라클자바…12-191314
44 웹퍼블리싱 마스터(HTML5,CSS3,jQUERY,AJAX,JavaScript) 오라클자바…12-141305
43 [채용예정교육]오라클자바개발잘하는신입뽑기2개월과정,교육전취… 오라클자바…12-111302
42 [평일,기업100%환급]자바기초에서 JDBC, Servlet/JSP까지 오라클자바…12-091045
41 [평일야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 오라클자바…12-011210
40 [기업100%환급]C#4.0,WinForm,ADO.NET프로그래밍(평일주간(단기)… 오라클자바…12-011419
39 [평일야간,주말,주말야간]SQL기초에서실무까지(SQL기초,PLSQL,힌… 오라클자바…12-01920

댓글 없음:

댓글 쓰기