Background Image

FORUM

조회 수 1038 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window7 64bit
CUBRID Ver.
9.3.6.007
CUBRID TOOL Ver.
10.1.0.0003
응용 환경(API)
java, php, odbc 등 입력

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


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


큐브리드에서 월별 파티션 테이블을 만드려고 하는데 월별을 계산할 때 루프를 어떻게 생성해야 될지 몰라 질문 드립니다.


일정 기간 동안 (ex : 2018년 ~ 2020년) 월별로 파티션을 만들 때, 변수를 지정하여 월별로 지정할 수 있는 방법이 있는지 확인 부탁 드립니다.


create table test_partition(

test_id varchar(64) NOT NULL,

log_date datetime

)

partition by range(log_date)(

        -- 월별 조건

partition monthly values less than ( )

);


감사합니다.

  • ?
    오명환 2018.08.10 13:50
    range 구문에 month(log_date) 함수를 사용하시면, 월별로 파티션 분할이 가능합니다.
    예)
    create table test_partition (
    test_id varchar(64) not null,
    log_date datetime
    )
    partition by range(month(log_date)) (
    partition jan values less than (1),
    partition feb values less than (2),
    partition last_one values less than maxvalue
    );
  • ?
    재익신 2018.08.10 14:22
    파티션을 년월로 했을 때에는 문자로 구분을 해야되는건가요?

    만약 2018~2019년에 해당하는 데이터를 월별로 파티션테이블을 만든다고 가정했을 때,
    파티션테이블의 키 조건은 '201801', '201802' ...... '201912' 이렇게 밖에 못하는지, 아니면 yyyyMM을 판단할 수 있는건지도 확인 부탁 드리겠습니다.

    큐브리드 메뉴얼을 확인하고 있는데, 특정 yyyyMM에 대한 int값 return 함수는 찾지 못했습니다.

    * 추가로 알려주신 partition jan values less than(1)로 할 경우, 변수 값 보다 작은게 들어가기 때문에 1달씩 밀려서 들어가게 되는데,
    파티션 테이블을 생성 시 만약 월별로만 판단한다면, 1씩 더 큰값으로 넣는게 맞는건가요?

    =======================================================================
    테이블 생성 예시

    create table test_partition (
    test_id varchar(64) not null,
    log_date datetime
    )
    partition by range(YEAR(log_date)+month(log_date)) (
    partition jan values less than (2),
    PARTITION feb values less THAN (3),
    partition last_one values less than maxvalue
    );

    INSERT INTO test_partition VALUES ('test1', '2017-01-01 12:18:37.000')
    -> jan 파티션에서 확인
    INSERT INTO test_partition VALUES ('test2', '2017-02-01 12:18:37.000')
    -> feb 파티션에서 확인
    =======================================================================

    항상 좋은 답변 감사합니다.
  • ?
    오명환 2018.08.10 15:20
    (1) 어떤 날짜 함수를 사용하느냐에 따라 range_value 값이 달라질 것 같습니다.
    예를 들어 month() 함수 인 경우에는 int 형으로 반환되기때문에 int 값을 사용하시면 됩니다.

    (2) 파티션을 나눌 경우에는 키조건에 따라 각각 파티션을 명시하셔야 합니다.

    (3) 년월을 int로 변경하는 방법은 to_days(trunc(log_date, 'mm')) 으로 하시면 되고, range 구문에 사용할 수 있습니다.

    (4) 문의하신대로 less than이므로 +1를 하시는 것이 맞네요.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 105
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4471
3359 큐브리드 11에서 Optane dc persistent memory app direct mode로 지원되나요? 1 몰라알수가없어 2021.02.08 116
3358 10.2 :: jdbc 버그? :: decimal 컬럼에 무조건 정수로 저장되는 상황 발생 1 rednuts 2021.02.06 411
3357 CUBRIDXADataSource 사용시 롤백이 되지 않습니다 2 잠깐하는 2021.02.05 270
3356 큐브리드 실행시 다중검색어 like 처리를 하고싶습니다 1 개발자1111 2021.02.05 438
3355 큐브리드 재설치시 80%에서 멈춰있음 2 파란나라를봐 2021.02.04 134
3354 10.2 :: round 함수에 버그가 있는 것으로 보입니다. 1 rednuts 2021.02.04 204
3353 맥 빅서 업데이트 이후 문제 5 야비한맹꽁이 2021.02.03 1279
3352 CentOs php 연동 문의 2 spjoshuakim 2021.01.28 154
3351 myBatis와 큐브리드 9.3.6을 연계하여 사용중인데 대량의 셀렉트시 fetchSize지원여부 1 karoscha 2021.01.26 269
3350 cub_server cpu 사용률 1 bchlim 2021.01.22 275
3349 문법오류라는데 해결이 불가능합니다 1 하루살이 2021.01.21 2378
3348 내보내기 1 이성진 2021.01.20 130
3347 이중화 관련해서 질문 드립니다. 3 코코코지마 2021.01.20 366
3346 테이블에 인덱스 추가시 사용자가 해당 테이블에 update, insert 등 할경우 lock 시간이 걸리는지요? 1 cho 2021.01.19 714
3345 Max Client 모니터링 방법 1 nagh 2021.01.18 193
3344 CUBRID Manager 오류 메시지 및 드라이버 버전에 따른 접속(DB 접근) 문제 3 뽀대남 2021.01.15 531
3343 loaddb로 백업시 clob 타입 사용시 문의 3 Seonu 2021.01.12 320
3342 Unloaddb로 백업 시 특정 테이블만 백업이 안되는 경우도 있나요? 3 Seonu 2021.01.11 175
3341 [-830]Cannot allocate query entry any more. Maximun allocatable entries are 100 1 dasomoh 2021.01.07 225
3340 특정 Table만 백업하는 방법 1 nagh 2021.01.06 538
Board Pagination Prev 1 ... 28 29 30 31 32 33 34 35 36 37 ... 200 Next
/ 200

Contact Cubrid

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