Background Image

FORUM

조회 수 957 추천 수 0 댓글 5
?

단축키

Prev이전 문서

Next다음 문서

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


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

OS

 Linux 64bit 

CUBRID Ver.

11.3

CUBRID TOOL Ver.

cubrid manager 10.1

응용 환경(API)

java, php, odbc 등 입력


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


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


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

11.3 환경으로 서비스 오픈 후 이슈 입니다.  


바인드 변수 처리 된 쿼리로 서비스를 운영 중입니다. 

cubrid manager , dbeaver, csql 등으로 plan 을 보면 3.4초 수행 되는 쿼리인데,  

화면단에서 동일한 쿼리가 200초 수행되는 slow query 로 확인이 됩니다. 실제로 화면에서도 응답이 느립니다. 


챗gpt 등으로 검색해 보니 바인드 변수 처리 시 이슈가 있을 수 있다고, 힌트를 적용하라고 해서 

의심이 되는 부분은 약 3만건 정도 되는 마스터 코드 테이블에서

코드 조회 부분이 의심되어 pk 타도록 힌트 타도록 소스를 수정해서 화면에서 처리 속도가 개선 되었습니다. 


화면단에서 바인드 변수 처리시 이슈가 있는지 확인할 방법은 없는지 문의 드립니다. 










  • ?
    정만영 2025.06.25 10:56
    안녕하세요.

    애플리케이션에서 바인드 변수만 전달하는 경우, SQL에서 참조되는 데이터의 분포도에 따라 옵티마이저가 예상과 다른 실행 계획(예: 테이블 스캔)을 선택할 수 있습니다.

    서비스 오픈 후 발생한 SQL 지연 현상은 CUBRID 11.3 버전 자체의 문제라기보다는, 바인드 변수로 인한 실행 계획 차이로 인해 발생할 수 있는 일반적인 현상으로 판단됩니다.

    만약 옵티마이저가 적절한 인덱스를 선택하지 못하는 것으로 판단되면, /*+ USE_IDX(...) */ 또는 INDEX_SS와 같은 명시적 힌트 사용을 고려해보시기 바랍니다.

    또한, 추가적인 튜닝이 필요한 SQL이 있는지 확인하기 위해 broker_log_top 명령어를 수행하여 slow query가 더 있는지 점검하고, 지속적으로 서비스 안정화를 위한 모니터링과 조치를 병행하는 것을 권장드립니다.
  • ?
    abc123 2025.06.25 11:22
    버전과는 상관없는 질문입니다. 구성 정보 공유 일 뿐입니다.

    전체 쿼리 중에서

    코드값 가져오는 pk 조건입니다.
    select up_org_cd
    from code
    where org_cd =?
    분포도가 나쁠 수 없습니다.
    전체 29000건 code 값 중에 결과 1건 나옵니다.

    현재 쿼리를 using index 사용하도록 수정하면서 성능 부하 부분이 해결 되었습니다.

    select up_org_cd
    from code테이블
    where org_cd =?
    using index pk인덱스

    그래서 바인드 변수 처리 시 성능 이슈 부분이 있는지 문의 드렸습니다.
    홛당하지만 실제 일어난 일입니다.
  • ?
    정만영 2025.06.25 12:16
    위 내용과 같이 code 테이블에 조건절 컬럼이 PK경우, 바이드 변수를 사용등과 상관없이 PK컬럼에 인덱스를 사용하지 않는 사례는 확인되지 않았습니다.

    정확한 검증을 위해 CUBRID 버전(명령어 : cubrid_rel) 정보와 전체 스키마를 올려주시면 내부에서 테스트 후 답변 드리겠습니다..
  • ?
    박세훈 2025.06.25 12:41

    1. CUBRID는 기본설정으로 상수를 자동으로 바인드 변수로 변환하고 있습니다. 그러므로 기본적으로는 바인드 변수와 상수값 질의간의 차이는 없어야 합니다. 하지만 질의 재작성 단계에서 값 유무에 따라 차이가 발생해 실행계획의 차이가 발생할 수 있습니다. 말씀해주신 질의와 같이 간단한 질의라면 차이가 없는 것이 맞습니다. prepare 구문을 사용해 상수 값과 바인드 변수를 사용한 질의의 실행계획에서 차이가 있는지 확인해보세요.

    https://www.cubrid.org/manual/ko/11.3/sql/query/prepare.html#prepare



    2. 실행계획이 캐시 되어 이전의 실행 계획이 계속 사용되었을 수 있습니다. 실행계획 삭제혹은 /*+ recompile */ 힌트를 통해 문제가 해결되는지 확인해보세요.
    https://www.cubrid.org/manual/ko/11.3/admin/admin_utils.html#plandump

     

    3. 통계정보 갱신 전과 이후의 실행계획 차이일 수 있습니다. 통계정보 갱신 시 이미 캐시된 실행계획은 바로 삭제되지 않으며, 일정 시간 후에 많은 변경이 있는 테이블에만 실행계획을 재생성 합니다.

    https://www.cubrid.org/manual/ko/11.3/sql/tuning.html#id1

  • ?
    abc123 2025.06.25 13:14
    내부쿼리를 옮길 수 없어서
    crt로 tranlist 확인내용과
    큐브리드 매니저 실행계획첨부합니다

    매니저로 플랜확인하면 인덱스 스캔하고 수행속도도 빠른데 tranlist에서는 query time tran time 계속 늘어나면서 화면에서는 느립니다

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 14 admin 2024.04.23 101332
4208 액티브+트랜잭션 로그를 사용한 복구 방법이 있나요? 1 로키 2025.07.09 368
4207 function생성 질문 4 wltkd96 2025.07.09 365
4206 gettransactioninfo 응답 값에 sql_text가 없는 이유 문의드립니다. 1 file ogu 2025.07.09 358
4205 트리거 조회시 권한 없음 1 큐피 2025.06.26 879
4204 CUBRID 9.3 & 디비버(DBeaver)에서 테이블 탐색기 없음 관련 문의1 1 빠리 2025.06.26 953
4203 큐브리드 데이터베이스 디스크 변경 문의사항입니다. 1 난지수 2025.06.25 1007
» 11.3 서비스 오픈 바인드 변수 처리 시 성능 5 file abc123 2025.06.25 957
4201 jdbc 연동 오류 문의 2 cuji 2025.06.25 985
4200 11.3 version tranlist 에서 tran time 이 계속 증가하는 원인 파악 하는 방법 문의 1 abc123 2025.06.24 927
4199 cubrid 11.4 이후 버전에서 시스템 카탈로그 뷰 조회시 반드시 소문자를 사용 해야 하는데 정책이 변경 된 것인가요? 1 두목원슝 2025.06.13 1263
4198 윈도우를 재 설치 하면서 cubrid를 재 사용 하려고 합니다. mango 2025.06.11 1267
4197 ETL 작업 중 매번 같은 오류로 작업이 중지 됩니다. 2 file 용원아빠 2025.06.05 1214
4196 CM 에서 DB 로그인 시 Request is rejected due to invalid token. Please reconnect 에러 발생 1 정원 2025.06.05 1347
4195 cubrid shutdown 현상 1 hyoseon-_- 2025.05.28 1570
4194 테이블 생성시 TIMESTAMP 타입의 컬럼이 생성되지 않습니다 4 file 윤덕현 2025.05.27 1185
4193 숫자형 데이터를 지정된 패턴 형식으로 표시 방법 문의 2 종이 2025.05.22 1302
4192 cubrid cci 함수 실행시 SIGPIPE 오류 가을이아빠 2025.05.22 1156
4191 프로시저 작성시 로그 관련 문의 3 바보똥개 2025.05.22 1090
4190 DB 이중화 설정 1 file 유비 2025.05.21 1363
4189 Rocky 8.10 으로 전환 관련 문의 1 루비 2025.05.07 1456
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 211 Next
/ 211

Contact Cubrid

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