database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39141 게시물 읽기
No. 39141
스칼라 서브쿼리에 대한 질문
작성자
똘보기
작성일
2011-12-03 11:46
조회수
4,439

안녕하세요 스칼라 서브쿼리에 대해 궁금한 점이 있어서 이렇게 글 씁니다....

제가 생각한 거로는 메인쿼리에서 해당 로우를 가져와 해당 로우만큼 서브쿼리가 실행된다고 이해했는데 테스트 에서는 메인쿼리보다 스칼라 서브쿼리가 먼저 실행 되네요...이유가 뭐죠?ㅠㅠㅠ

 

select name,(select num from idtab where idtab.num=bmt1.id) num from bmt1 where bmt1.id>5678
Call     Count CPU Time Elapsed Time       Disk      Query    Current       Rows
------- ------ -------- ------------ ---------- ---------- ---------- ----------
Parse        1    0.000        0.000          0          0          0          0
Execute      1    0.000        0.000          0          0          0          0
Fetch      434    0.478        0.458          0       5910          0       4322
------- ------ -------- ------------ ---------- ---------- ---------- ----------
Total      436    0.478        0.459          0       5910          0       4322
 
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user: SYS (ID=0)
 
Rows     Row Source Operation
------- ---------------------------------------------------
      0 STATEMENT
   4322   INDEX RANGE SCAN IDTAB_IDX (cr=4785 pr=0 pw=0 time=283017 us)(Object ID 56069)
   4322   TABLE ACCESS BY INDEX ROWID BMT1 (cr=1125 pr=0 pw=0 time=203216 us)
   4322    INDEX RANGE SCAN BMT1_IDX (cr=626 pr=0 pw=0 time=69195 us)(Object ID 56068)
 
select bmt1.name,idtab.num from bmt1,idtab where bmt1.id=idtab.num and bmt1.id>5678;
Call     Count CPU Time Elapsed Time       Disk      Query    Current       Rows
------- ------ -------- ------------ ---------- ---------- ---------- ----------
Parse        1    0.000        0.000          0          0          0          0
Execute      1    0.000        0.000          0          0          0          0
Fetch      434    0.456        0.459          0       6342          0       4322
------- ------ -------- ------------ ---------- ---------- ---------- ----------
Total      436    0.456        0.459          0       6342          0       4322
 
Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user: SYS (ID=0)
 
Rows     Row Source Operation
------- ---------------------------------------------------
      0 STATEMENT
   4322   NESTED LOOPS (cr=6342 pr=0 pw=0 time=639922 us)
   4322    TABLE ACCESS BY INDEX ROWID BMT1 (cr=1125 pr=0 pw=0 time=190368 us)
   4322     INDEX RANGE SCAN BMT1_IDX (cr=626 pr=0 pw=0 time=82178 us)(Object ID 56068)
   4322    INDEX RANGE SCAN IDTAB_IDX (cr=5217 pr=0 pw=0 time=283285 us)(Object ID 56069)

 

이 글에 대한 댓글이 총 2건 있습니다.

예전엔 스칼라서브쿼리에 대한 실행계획이 안나왔었는데.

버전이 바뀌면서 나오더군요.

그런데 실행계획의 위치가 아주 애매합니다.

스칼라서브쿼리의 실행계획은 항상 처음에 나오더군요.

실행은 나중에 되는데도 말이죠.

실행계획상 먼저 나온다고 먼저 실행된다고 판단하시면 안될 듯 합니다.

스칼라서브쿼리에 대해서는요.

마농(manon94)님이 2011-12-05 09:56에 작성한 댓글입니다.

 

PUSH_SUBQ, QT( Query Transformation ) + 10053 Event

 


 

으이구님이 2011-12-05 10:19에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39144정규식 쿼리 문의 드립니다. [2]
포대인
2011-12-04
5215
39143n번째 (,)comma 를 ,<br> 로 치환 하는 질문. [3]
정규식질문
2011-12-04
4054
39142급합니다 과제중문제 [1]
미국물
2011-12-04
4302
39141스칼라 서브쿼리에 대한 질문 [2]
똘보기
2011-12-03
4439
39140[급합니다] unix 환경에서 oracle 연결해서 데이터 추출 [1]
줄리아
2011-12-02
3992
39139DB부하가 일어나는것 같아 좀 봤더니 이상한 쿼리가..
도와주세요
2011-12-02
5956
39138펑션관련질문 [1]
길동이
2011-11-30
3585
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.025초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다