Background Image

FORUM

조회 수 396 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Linux
CUBRID Ver.
10.1.3.7765
CUBRID TOOL Ver.
[도움말]-[버전정보] 확인
응용 환경(API)


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


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

데이터가 다른 DB 가 두 개 있습니다. 


CUBRID 버전은 10.1.3 으로 동일합니다. 


Hibernate 4.3.8-Final 사용중입니다. 


-- 실행한 쿼리 


SELECT count(*) as col_0_0_

FROM discharge discharge0_

CROSS JOIN charge charge1_

CROSS JOIN charge_type chargetype2_

WHERE discharge0_.id=charge1_.id

AND charge1_.charge_type_id=chargetype2_.id

AND chargetype2_.is_media_charge=0

AND discharge0_.discharge_date='2020-9-23 0:0:0.000'

AND discharge0_.proc_branch_id=1;




A DB 에서 실행할 시에는 INDEX 를 올바르게 타고 조회가 됩니다. 

Query Plan:

  NESTED LOOPS (inner join)

    NESTED LOOPS (inner join)

      INDEX SCAN (discharge0_.idx_discharge_01) (key range: discharge0_.discharge_date= ?:1 )

      INDEX SCAN (charge1_.pk_charge) (key range: discharge0_.id=charge1_.id)

    INDEX SCAN (chargetype2_.pk_charge_type) (key range: charge1_.charge_type_id=chargetype2_.id)


  rewritten query: select count(*) from discharge discharge0_ cross join charge charge1_ cross join charge_type chargetype2_ where discharge0_.id=charge1_.id and charge1_.charge_type_id=chargetype2_.id and discharge0_.proc_branch_id= ?:0

 and discharge0_.discharge_date= ?:1  and chargetype2_.is_media_charge= ?:2


Trace Statistics:

  SELECT (time: 0, fetch: 29, ioread: 0)

    SCAN (index: discharge.idx_discharge_01), (btree time: 0, fetch: 6, ioread: 0, readkeys: 1, filteredkeys: 0, rows: 4) (lookup time: 0, rows: 4)

      SCAN (index: charge.pk_charge), (btree time: 0, fetch: 12, ioread: 0, readkeys: 4, filteredkeys: 0, rows: 4) (lookup time: 0, rows: 4)

        SCAN (index: charge_type.pk_charge_type), (btree time: 0, fetch: 8, ioread: 0, readkeys: 4, filteredkeys: 0, rows: 4) (lookup time: 0, rows: 4)


1 row selected. (0.006396 sec) Committed.

1 command(s) successfully processed.




그러나 B DB 에서 실행할 시에는 INDEX 를 타지 않고 조회가 됩니다. 


1 row selected. (142.158127 sec) Committed.


1 command(s) successfully processed.


Trace Statistics:

  SELECT (time: 142150, fetch: 172002917, ioread: 0)

    SCAN (table: charge_type), (heap time: 0, fetch: 5, ioread: 0, readrows: 4, rows: 4)

      SCAN (index: charge.fk_charge_6), (btree time: 7, fetch: 5789, ioread: 0, readkeys: 3, filteredkeys: 0, rows: 5776) (lookup time: 6, rows: 5776)

        SCAN (index: discharge.fk_discharge_2), (btree time: 21134, fetch: 26644688, ioread: 0, readkeys: 5776, filteredkeys: 0, rows: 26598480) (lookup time: 18773, rows: 148)





쿼리에서 생성된 Table 및 PK, FK , INDEX 는 모두 동일한 상황입니다. 


해결할 방법이 있을까요 ? 

 


  • ?
    오명환 2020.12.17 16:56
    해당 테이블의 통계를 재 수집한 후에 다시 한번 확인해보시기 바랍니다.

    통계 수집하는 방법은 매뉴얼(https://www.cubrid.org/manual/ko/10.1/sql/tuning.html)을 참조하시면 됩니다.
    수집하실때 sample을 사용하지 마시고, with fullscan을 사용하셔서 하세요.
  • ?
    Rega 2020.12.21 10:49
    답변 감사드립니다. 통계 재수집후 진행토록 해보겠습니다.

  1. CUBRID 사용자를 위한 DBeaver 도구 출시 안내

    Date2024.04.23 Byadmin Views136
    read more
  2. SQLGate for CUBRID 영구 무료 라이선스 제공

    Date2020.04.09 Byadmin Views4477
    read more
  3. Max Client 모니터링 방법

    Date2021.01.18 Bynagh Views194
    Read More
  4. CUBRID Manager 오류 메시지 및 드라이버 버전에 따른 접속(DB 접근) 문제

    Date2021.01.15 By뽀대남 Views534
    Read More
  5. loaddb로 백업시 clob 타입 사용시 문의

    Date2021.01.12 BySeonu Views322
    Read More
  6. Unloaddb로 백업 시 특정 테이블만 백업이 안되는 경우도 있나요?

    Date2021.01.11 BySeonu Views175
    Read More
  7. [-830]Cannot allocate query entry any more. Maximun allocatable entries are 100

    Date2021.01.07 Bydasomoh Views225
    Read More
  8. 특정 Table만 백업하는 방법

    Date2021.01.06 Bynagh Views538
    Read More
  9. 큐브리드로 두 날짜간의 년도 차이를 구하고 싶습니다.

    Date2021.01.04 Byaaa Views644
    Read More
  10. usegeneratedkeys 와 같은 기능 사용법

    Date2020.12.30 By망나니개발자 Views397
    Read More
  11. cannot connect to a broker 접속오류 관련 문의 드립니다.

    Date2020.12.29 Byzerorogue Views2629
    Read More
  12. 방화병 포트 오픈시 양방향 오픈을 해야 하나요?

    Date2020.12.29 ByPhilip Park Views1767
    Read More
  13. 큐브리드 UTF8 일시 3byte 궁금 증

    Date2020.12.29 By덴드로비움 Views461
    Read More
  14. TO_DATETIME 함수 문의 드립니다.

    Date2020.12.29 By풍류인생 Views439
    Read More
  15. 데이터 볼륨을 추가 하는 명령어 확인 부탁 드립니다.

    Date2020.12.29 ByPhilip Park Views249
    Read More
  16. Cannot cummunicate with broker..

    Date2020.12.29 By진석 Views130
    Read More
  17. 샤드 관련 문의 드립니다.

    Date2020.12.28 By레오나르도 Views100
    Read More
  18. WinNGS 통해서 CM 관리모드 사용할때 8001포트 사용하고 있습니다.

    Date2020.12.24 ByPhilip Park Views1613
    Read More
  19. 시스템 뷰 조회 성능 문의

    Date2020.12.22 Bybchlim Views167
    Read More
  20. 마이그레이션 툴킷 관련 질문드립니다.

    Date2020.12.17 Bycsc0312 Views117
    Read More
  21. SELECT 시 INDEX 를 타고 안타는 차이점 ?

    Date2020.12.17 ByRega Views396
    Read More
  22. 로그 확인 요청드립니다.

    Date2020.12.17 ByPhilip Park Views94
    Read More
Board Pagination Prev 1 ... 29 30 31 32 33 34 35 36 37 38 ... 201 Next
/ 201

Contact Cubrid

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