꿈꾸는 개발자, DBA 커뮤니티 oracleclub.com
티베로강좌  :  큐브리드강좌  :  오라클강좌  :  오라클팁  :  오라클사용자팁  :  Oracle Blogs  :  오라클Q&A  :  오라클자료실  :  IT컬럼/소식  :  좋은글감동  :  방명록
Searched by NAVER
DB검색 :
모두펼치기 | 모두닫기

Oracle 질문과 답변 oracleclub.com
[초보문의] 쿼리 좀 봐주세요~ ㅜㅜ (실행계획, 비용, 속도관련)
자꾸그래 : 2009-06-30 17:23  

안녕하세요?

이해가 잘 되지 않은 부분이 있어 도움을 구하고자 이렇게 글을 쓰게 되었습니다.

실행계획과 실제 쿼리 수행속도에 관한 내용인데요.

실행계획에서의 Cost 비용이 적게 나온것이 실제 쿼리를 실행시킨 속도가 늦게 나오는 현상이 발생합니다.

 

* 테스트 정보

 - Oracle 10g 사용, Orange Tool 사용하여 측정

 - A Table 의 결합인덱스 : I_INDEX ( YYMM + B + C + D + ...)

 

실행쿼리 1

         

실행쿼리 2

SELECT *

    FROM  A

WHERE  yymm BETWEEN ’200901’ AND ’200906’

     AND  B컬럼 = ’OK’

     AND   C컬럼 = ’OK’

 

SELECT /*+ INDEX( A I_INDEX ) */

              *

   FROM A

WHERE yymm BETWEEN ’200901’ AND ’200906’

     AND B컬럼 = ’OK’

     AND C컬럼 = ’OK’

 

실행계획 1

         

실행계획 2

 Optimizer=ALL_ROWS

 TABLE ACCESS (FULL) OF ’A’ (TABLE)

 ( Cost = 452K Card = 3M Bytes = 286M )

 

 Optimizer=ALL_ROWS

 TABLE ACCESS (BY INDEX ROWID) OF ’A’ (TABLE)

 ( Cost = 554K Card = 3M Bytes = 286M )

 

쿼리수행시간1

         

쿼리수행시간 2

 14.78 sec

 

 0.09 sec

 

위에서 보면 실행계획1의 비용이 실행계획2보다 적게 나타나는데도 실제 수행시간은 더 많이 걸리는 현상이 발생합니다.

어떤경우에 이런현상이 나타날수 있나요?

(참고 : 테이블 A 및 인덱스에 대해서는 최근에 Analyze 작업을 하고 테스트 하였습니다.)

 

태그 : 실행계획
조회수 295,  추천수 0
등록 글답변 글수정 목록보기
이름 쓰기
비밀번호
도움 주시는 곳
oraclejava