FORUM

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

단축키

Prev이전 문서

Next다음 문서

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


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

OS
Rocky linux 8.10 64bit
CUBRID Ver.
CUBRID 11.3 (11.3.1.1142-bee7aa8)
CUBRID TOOL Ver.
SQLGate For CUBRID 9.19.0.0
응용 환경(API)
java


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

 

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


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

기존 CUBRID 9.3 (9.3.6.0002) 버전에서 신규 Linux에 CUBRID 11.3을 설치하고 데이터 unloaddb / loaddb 작업을 통해서 데이터를 이관하였습니다.

 

이관된 데이터에는 테이블 별로 확인 결과 특이사항은 없었습니다.

 

그런데

 

기존 버전에서는 A테이블, B테이블, C테이블에 대해서

 

A테이블 INNER JOIN B테이블 on A테이블.A컬럼 = B테이블.A컬럼

           LEFT OUTER JOIN C테이블 on B테이블.B컬럼 = C테이블.C컬럼이 쿼리가 정상적으로 작동하지만

11버전에서는 에러가 발생합니다.

 

3개의 테이블에 대한 Join 절이 INNER 와 LEFT OUTER 조인은 혼용으로 사용 불가능 한가요?

 

발생하는 에러는

Error : [-494] Semantic: before '  B ON A.identifier = B.identifier
            LEFT OUTER JOI...'
Outer join query optimization failed. select [B].[class_code], [C].[name],  trim(both  from [C].[gcode]), case when [C].[useage]<>'Y' then 0 else [B].[useage] end from  inner join [itfind.publication_class] [B] left outer join [itfind.publication_code] [C] on [B].[class_code]=[C].[code] where [B].[identifier]= ?:0  group by [B].[class_code], [C].[name], [C].[gcode], [C].[useage], [B].[useage]?193="ko_KR";194="ko_KR";249="Asia/Seoul";user=0|897|3
[CAS INFO-172.16.120.228:30000,4,287519].

 

 

 

* 실제 쿼리  *

 

 SELECT   B.class_code  AS id ,
          C.name        AS title ,
          TRIM(C.gcode) AS groupCode ,
          CASE
                   WHEN C.useage != 'Y'
                   THEN 0
                   ELSE B.useage
          END AS aaaa
 FROM     publication_master A
          INNER JOIN publication_class B
          ON       A.identifier = B.identifier
          LEFT OUTER JOIN publication_code C
          ON       B.class_code = C.code
 WHERE    1                     =1
 AND      A.identifier          = '02-004-240926-000015'
 GROUP BY B.class_code,
          C.name,
          C.gcode,
          C.useage,
          B.useage

 

 

  • ?
    주영진 2024.10.02 15:13

    안녕하세요.

    11.3 버전에 포함된 조인 제거 최적화 (INNER JOIN 제거)를 수행하면서 발생한 문제로 생각됩니다.

    1. 패치 없이 해결하기 위해서는 질의에 /*+ NO_ELIMINATE_JOIN */ 힌트를 사용하는 방법이 있습니다.

     

    Parent (Primary Key)와 Child (Foreign Key) 관계의 조인에서

    질의의 조회 결과가 Parent 테이블의 레코드를 참조하지 않는 경우에는

    Parent 테이블과의 조인을 제거하는 최적화를 수행할 수 있습니다.

     

    publication_master A 테이블과 publication_class B 테이블은 Parent와 Child 관계로 예상되고

    에러 메시지에서 "...from  inner join [itfind.publication_class] [B]..." 이 부분을 보면

    publication_master A 테이블과의 조인을 제거하는 최적화가 수행된 것으로 생각됩니다.

     

    조인 제거 최적화를 수행하는 중에 문제가 발생했기 때문에

    /*+ NO_ELIMINATE_JOIN */ 힌트를 사용해서 조인 제거 최적화를 수행하지 않게 하면

    에러가 발생하지 않을 것입니다.

     

    2. 11.3.2 버전에서 해결되었습니다.

     

    Parent 테이블과의 조인을 제거하는 과정에서 조인과 관련된 정보가 완전히 제거되지 않아서 발생하는 문제입니다.

    릴리스 공지는 곧 올라올 예정입니다.

     

    릴리스 공지에 앞서 패치 버전은 아래에서 받으실 수 있습니다.

    https://ftp.cubrid.org/CUBRID_Engine/11.3.2


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 11 admin 2024.04.23 45776
4133 db.properties에서 password 암호화 방법 1 펭슈수 2024.12.06 1422
4132 큐브리드 테이블별 전체 용량 조회 쿼리!!!!!!!!!!!!!!!! 알려주세요 1 갓파킹 2024.12.06 1418
4131 WAS-DB간 URL방식 접속 오류 확인 요청 1 file 김미경 2024.12.05 1444
4130 cubrid 나노초 조회 1 austin 2024.12.03 1476
4129 cubrid spacedb에서 DATA, INDEX가 0으로 나옵니다. 2 플레이어블 2024.12.02 1729
4128 cubrid manager에서 테이블 데이터를 조회하여 편집가능 버튼 클릭시 PK 가 없다고 메세지 출력 1 guloman 2024.11.21 1991
4127 윈도우 CUBRID 설치 후 localhost 연결이 안됩니다. 1 플레이어블 2024.11.21 1861
4126 윈도우용 CUBRID 설치 시 자바 버전 오류 문의 1 플레이어블 2024.11.21 1896
4125 exec_time 단위 문의드립니다 1 잘했어요 2024.11.20 1885
4124 서버 종료 없이 loaddb & unloaddb 2 마로비 2024.11.19 1766
4123 supplemental logging과 관련하여 CDC 관련 도구가 개방된게 있을까요? 1 오충 2024.11.15 1791
4122 큐브리드 매니저에서 foreign key 추가시 오류 7 후니얌 2024.11.14 1883
4121 큐브리드 admin접속 에러 12 file austin 2024.11.14 2244
4120 큐브리드 소수점 절삭 설정 문의드립니다. 1 file 트라이언 2024.11.11 1934
4119 리눅스 0레벨 풀 백업 파일은 다른 서버 리눅스에서 복구도 안되는 건가요? 4 file 예찬샤론 2024.11.11 1727
4118 리눅스 0레벨 풀 백업 파일을 윈도우 큐브리드에서 복구 할 수 있나요? 1 예찬샤론 2024.11.11 1755
4117 jdbc 11.3 버전 이상은 어디서 다운받나요?? 5 후니얌 2024.11.11 1752
4116 큐브리드 브로커 접속이 안되는 상황입니다.. 2 wodud0170 2024.11.08 1940
4115 CUBRID-Python driver connect _cubrid.InterfaceError: (-20002, 'ERROR: CCI, -20002, Invalid connection handle') 에러 1 고감자 2024.11.05 1857
4114 Cubrid Manager의 Query Editor로 데이터베이스 생성이 가능한가요? 1 Maximus 2024.10.30 2250
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 210 Next
/ 210

Contact Cubrid

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

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

나눔고딕 사이트로 가기

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5