PARTITION 날짜 필드 조회 문의 0 2 1,852

by 빈이 [MySQL] [2016.06.16 13:02:44]


 

CREATE TABLE TB (
  A varchar(16) NOT NULL,
  B varchar(16) NOT NULL,
  C datetime NOT NULL,
  D datetime NOT NULL,
  E int(11) NOT NULL,
  PRIMARY KEY (A,B,C)
)
PARTITION BY RANGE(DAY(C))(
    PARTITION P_MAX VALUES LESS THAN MAXVALUE
);

 

아래 처럼 조회를 해서 플랜을 보면 FULL SCAN을 하고 있습니다.

PARTITION RANGE SCAN을 하고 싶은데 조회 방법이 다른걸까요?

SELECT A, B, C, D, E
FROM TB
WHERE C BETWEEN DATE_FORMAT('2015-06-02', '%Y-%m-%d') AND DATE_FORMAT('2015-06-02', '%Y-%m-%d');

 

 

by 우리집아찌 [2016.06.16 13:19:00]

잘은 모르지만 파티션을 더 나눠야하지 않나요?

인덱스도 줘야할듯하고요..


by 겸댕2후니 [2016.06.16 14:39:16]

파티션테이블인데 파티션이 하나밖에 존재하지 않네요...

파티션을 추가해야, 파티션 레인지스캔을 할 수 있지요.

ex) 어느학교에 반이 1개밖에 없을경우, 어느학생을 찾을때?

학교전체를 기준으로 찾으나, 반을 기준으로 찾으나

총 로우수 동일..

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입