2010년 10월 18일 월요일

파티셔닝5

서브 파티셔닝


RANGE와 LIST일 때 각 파티션을 더 분할할 수가 있다.  매뉴얼에서는 이것을 서브파티션이라고 부른다.

예1>
CREATE TABLE ptrange( a INT, b INT, c CHAR(10) )
    PARTITION BY RANGE(a)
      SUBPARTITION BY HASH(a)
     (
       PARTITION pt0 VALUES LESS THAN ( 1000)
      (
          SUBPARTITION s0,
          SUBPARTITION s1
      ),
      PARTITION pt1 VALUES LESS THAN MAXVALUE
     (
         SUBPARTITION s2,
         SUBPARTITION s3
      )
    );

예2>
CREATE TABLE ptrange( a INT, b INT, c CHAR(10) )
    PARTITION BY RANGE(a)
      SUBPARTITION BY HASH(a)
         SUBPARTITIONS 2
        (
          PARTITION pt0 VALUES LESS THAN (1000),
          PARTITION pt1 VALUES LESS  THAN MAXVALUE
        );

MySQL의 파티셔닝에 대해서  정리해보았다.  꽤 유연하게 파일을 분할할 수 있다는 것을 알 수 있다.   한개의 테이블이 큰 경우에는  파티셔닝의 채용을 검토 해 보자.