Background Image

FORUM

조회 수 12108 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
안녕하세요.

이번 홈페이지 개편에 큐브리드를 사용하게 되어서 사용시
기존 Mssql과 약간 다른점이 있어서 문의드립니다.

Mssql 같은 경우에는 DB 서버 재부팅 후 인덱스가 잡혀 있으면
처음 자료 조회시에도 느린것을 모르고 사용했었는데요.

큐브리드는 DB서버 재부팅 후 인덱스가 잡혀 있는데도
처음 조회시에는 풀스캔 하는것처럼 하드디스크가 계속 돕니다.

그리고 두번째 조회시부터는 속도도 빠르게 나오는데요.

운영시 웹서버, DB 서버를 재부팅하게 될 경우에도 이런 문제로 인해서
처음 접속하는 사용자는 홈페이지가 많이 느리게 느끼게 될거 같아서 문의드립니다.

제가 잘못 사용하고 있는 부분이 있는지, 아니면 처리 방법이 있는지 궁금합니다.
  • ?
    남재우 2010.04.24 23:32
    안녕하세요.
    질의 자체의 성능 조정이 잘되어있는지를 우선 확인해 볼 필요가 있을 것으로 판단됩니다. 질의 수행중 다루어지는 데이터의 양이 많다면 처음 수행과 두번째 수행이 차이가 보일수 있으며(버퍼링 문제), 또한 사용자의 증가시 동일한 질의의 성능이 사용자가 적을때보다 느려질 수 있습니다.
    일단 정확한 인덱스를 사용하는지를 보시고, 가능하시다면 스키마와 데이터 건수, 질의를 올려주시면 검토해 보도록 하겠습니다.
  • ?
    종이 2010.04.25 22:10

    항상 빠르고 친절한 답변 항상 감사드립니다.

    말씀 드린 부분은 특정 테이블이라기 보다는 모든 웹페이지(모든 쿼리)에 공통적으로 나타나는 증상입니다.

    DB 재부팅후 느린 테이블은 메인 테이블로 30만껀 정도 데이터에 500MB 정도 용량을 차지합니다.

    메인 테이블 주된 내용은 제목, 내용, 작성자, 나머지 잡다한 컬럼들로 이루어져 있습니다.

    메인 테이블은 재부팅 후 큐브리드에서 select count(*) from main_table_name 쿼리에도 500ms 정도 걸리고, 두번째 실행시에는 0ms로 나옵니다.

    그리고 쿼리는 항상 질의 실행계획에서 iscan이 되도록 인덱스를 지정해서 사용하기 때문에 인덱스를 안 타는 쿼리라기 보다는 한개의 웹페이지에서 쿼리가 많아서 그런게 아닐까 하는 생각이 들기는 합니다.

  • ?
    남재우 2010.04.26 21:00
    안녕하세요.
    사무실 이전 관계로 답변이 좀 늦었습니다. count(*) 질의는 전체 스캔을 해야하는 관계로 조금 느릴 수 있습니다. 앞서도 말씀드렸듯이 버퍼링 문제와 관련이 있습니다. 처음에는 어쨋든 읽어야 하니 조금 느릴 수 있으며, 두번째 부터는 버퍼에 있으면 조금 나은 성능을 보여줄 것입니다. 버퍼링은 CUBRID와 OS 두군데서 다 지원하고 있고 이로 인한 성능 차이로 보시면 될 것입니다.
    아울러 CUBRID 는 건수조회시 인덱스를 사용하여 처리할 수가 있으며 이럴 경우 전체 스캔보다 훨씬 빠른 응답속도를 보여줍니다. unique 인덱스나 PK 인덱스를 이용하시면 됩니다. 예를 들어 main_col(int로 가정) 이라는 필드에 pk1 라는 이름으로 PK가 해당 테이블에 설정되어 있다면 select count(*) from main_table_name where main_col >= 0 using index pk1(+) 와 같이 하면 됩니다. 인덱스를 이용하므로 관련된 필드에 대한 조건을 하나 추가해야 합니다. 물론 결과가 달라지지 않도록 조건을 주어야 합니다.
  • ?
    종이 2010.04.26 22:13
    친절하고 자세한 설명 감사합니다.

    많은 도움이 되었습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 47
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
3993 db에 저장되어 있는 CLOB 데이터의 위치가 어디로 저장되는지 확인하는 방법이 있을까요? 1 update 자바천재 2024.04.25 17
3992 큐브리드 서비스 시작이 안됩니다. 1 updatefile 황남빵 2024.04.24 24
3991 큐브리드 JDBC 드라이버 XA문의 및 큐브리드 분산트랜잭션(XA) 지원 문의 1 몽키스패너 2024.04.24 23
3990 group_concat 변수 리턴 관련... 1 썬더기 2024.04.22 23
3989 기 DB에서 테이블 정보만 가져와서 다른 DB에 생성 1 바다소금 2024.04.22 18
3988 큐브리드 매니저 속도 문의 1 update 연동테스트용 2024.04.22 14
3987 cubrid count 속 2 kanin 2024.04.19 28
3986 cubrid 10.1 데이터 덮어쓰기 질문입니다. 4 ysk96 2024.04.18 52
3985 ACTION 명령어? 예약어? 1 투투투투기기 2024.04.17 20
3984 sql 구문 사용시 데이터 타입 decimal일 경우 1 투투투투기기 2024.04.11 30
3983 Regexp_count 4 SEO 2024.04.09 66
3982 큐브리드 메모리 오류 관련 질문 2 file 뚜벅뚜벅 2024.04.09 65
3981 큐브리드 실행이 안되는 이슈 1 file 최현욱 2024.04.09 41
3980 unloaddb & loaddb 관련 질문이 있습니다. 1 543534512 2024.04.06 46
3979 mac m1 다운로드 오류 1 file 혜주냉면 2024.04.05 42
3978 list 함수로 만든 sequence type을 varchar로 변환 문의 1 플레이어블 2024.04.04 36
3977 DECODE, CASE WHEN 사용법 문의 2 핑크팬더 2024.04.03 55
3976 schema 파일 loaddb - 스키마 정보 중복오류 문의 4 daay 2024.03.21 91
3975 object to string 4 네오랜덤 2024.03.20 69
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