Background Image

FORUM

조회 수 260 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
Red Hat Enterprise Linux Server release 7.9 (Maipo) 64bit
CUBRID Ver. 
CUBRID 10.2 (10.2.5.8886-25908b1)
CUBRID TOOL Ver.
SQLGate for CUBRID 9.16.0.0
응용 환경(API)
-


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------

 

 

 

'시작하세요! 큐브리드' 책을 보면서 실행계획을 공부해보고 있는 도중 문의사항이 있어 글을 남깁니다.

 

 

스칼라 서브쿼리의 동작 방식이 메인 쿼리를 수행하면서 추출된 결과를 서브쿼리의 조건식과 비교해, 조건을 만족하면 결과를 반환하는 방식으로 알고 있습니다.

 

그러면 athlete 테이블부터 읽고 그 다음 game 테이블을 읽어야 될텐데, 위 실행계획은 반대로 되어 있는것 같아서요.

 

 

책에서 실행계획 읽는 법은 가장 안쪽의 가장 윗줄부터 읽는다로 들었는데 (331p 참조),

 

첨부된 실행계획을 보면 스칼라 서브쿼리부터(game 테이블) 실행한걸로 되어 있습니다.

 

제가 실행계획을 잘못 이해하고 있는걸까요?

 

 

실행계획 읽는 법 가이드 해주시면 감사하겠습니다.

 

  • ?
    박세훈 2022.07.08 14:06
    CUBRID에서 plan을 생성할 때 부질의는 독립된 plan으로 생성됩니다. 그래서 부질의에 대한 plan이 먼저 나오고 마지막에 주질의에 대한 plan이 출력됩니다. 가장 안쪽의 위부터 수행되는 규칙은 독립된 plan안에서만 적용됩니다.
    실제 부질의가 결합된 실행순서는 TRACE 정보에서 확인할 수 있습니다. 아래 링크를 참조하세요.
    https://www.cubrid.org/manual/ko/11.2/sql/tuning.html#query-profiling

    부질의는 외부 참조컬럼 존재 여부에 따라서 correlated와 uncorrelated로 구분이 됩니다. correlated의 경우는 주질의 데이터를 조회한 후 부질의를 조회하고, uncorrelated의 경우는 주질의 실행 전에 부질의 조회가 수행됩니다. TRACE 정보에도 이러한 순서가 명확하게 표현되어 있지는 않네요.
    문의 주신 내용처럼 correlated subquery는 참조하는 컬럼의 테이블을 먼저 스캔합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 52
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3995 "DATABASE 검사" 도무지 끝날 기미가 안 보입니다 5 한종희 2011.08.02 8583
3994 "DBMS, 0, Unknown DBMS error" 요건 무슨 애러인가요?;; 2 eitetu 2011.06.02 14296
3993 "Token length is too long" 오류에 관하여 질문 드립니다. 4 file 김우람 2009.01.09 21478
3992 & 등의 특수문자등이 변환되어 저장되는 경우 1 호랑이야옹 2012.12.28 10682
3991 ' 의 입력 방식이 궁금합니다. 1 이석희 2009.04.10 13422
3990 (1개의 댓글은 작성자가 썼습니다.)비주얼 베이직 큐브리드 연동후 동시에 여러 테이블 보는 방법문의 2 secret 강남우 2012.12.21 58
3989 (Re:) 회원가입이 3명이상 안돼요... 6 딩이 2010.07.08 7595
3988 (python)centOS7 docker 연결 문의입니다. 리얼비 2021.11.01 108
3987 (댓글 질문등록 했습니다.)이전글, 다음글 기능(LAG, LEAD) ORDER BY절 FOR ORDERBY_NUM() 추가해도 그대로 입니다 3 취우다 2017.04.19 5960
3986 (함수)펑션 오류 확인부탁드립니다. 1 초코초코초 2023.02.10 102
3985 *variable* 에러 1 hwon 2013.06.14 11619
3984 ++ cubrid server start: fail 2 file 토네이도 2013.09.13 13701
3983 -74 오류 조치 방법 1 덜쇠 2013.08.07 7643
3982 .AccessViolationException (C#) 1 swift 2021.06.03 220
3981 .NET 4.5 에서의 NHibernate 문제, .NET 4.0 에서 NHibernate + TransactionScope 활용 문제. 1 websiter 2017.06.09 2057
3980 .NET DB 제어를 위한 방법. 2 우페 2008.11.23 60878
3979 .net db목록 관련 질문 드립니다. 4 파인 2021.03.05 134
3978 // 를 사용하고 싶습니다. 1 죽통군 2010.02.10 9583
3977 /etc/hosts 파일 수정 1 secret chocob 2014.10.13 13
3976 /etc/rc3.d/S98cubrid 화일 좀 바꿔주세요 1 꽁꽁단무지 2017.01.25 12246
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales