alter table add partitiion
具体语法和例子请参考一下MYSQL官方免费手册中的例子。
18.2.5. 子分区
子分区是分区表中每个分区的再次分割。例如,考虑下面的CREATE TABLE 语句: CREATE TABLE ts (id INT, purchased DATE)
    PARTITION BY RANGE(YEAR(purchased))
    SUBPARTITION BY HASH(TO_DAYS(purchased))
    SUBPARTITIONS 2
    (
        PARTITION p0 VALUES LESS THAN (1990),
        PARTITION p1 VALUES LESS THAN (2000),
        PARTITION p2 VALUES LESS THAN MAXVALUE
    );
表ts 有3个RANGE分区。这3个分区中的每一个分区——p0, p1, 和 p2 ——又被进一步分成了2个子分区。实际上,整个表被分成了3 * 2 = 6个分区。但是,由于PARTITION BY RANGE子句的作用,这些分区的头2个只保存“purchased”列中值小于1990的那些记录。 在MySQL 5.1中,对于已经通过RANGE或LIST分区了的表再进行子分区是可能的。子分区既可以使用HASH希分区,也可以使用KEY分区。这也被称为复合分区(composite partitioning)。 为了对个别的子分区指定选项,使用SUBPARTITION 子句来明确定义子分区也是可能的。例如,创建在前面例子中给出的同一个表的、一个更加详细的方式如下: CREATE TABLE ts (id INT, purchased 

解决方案 »

  1.   

    恩分区表中包含子分区这样是可以的,可是我这是先分表:
    CREATE TABLE  `db`.`tables_1` (
      `speed_id` varchar(50) NOT NULL,
      `web_id` int(11) NOT NULL,
      `type_id` int(11) NOT NULL,
      `pro_id` int(11) NOT NULL,
      `measure_time` datetime NOT NULL,
      `measure_value` double NOT NULL,
      `dest_pro` int(11) DEFAULT NULL,
      `dest_isp` int(11) DEFAULT NULL,
      `bandwidth` varchar(55) DEFAULT NULL,
      `isp_id` int(11) DEFAULT NULL,
      `is_useful` int(11) DEFAULT NULL
    ) ENGINE=MyISAM TYPE=merge UNION=(job1,job2) INSERT_METHOD=LAST  DEFAULT CHARSET=utf8;
    子表分区:
    CREATE TABLE  `db`.`job2` (
      `speed_id` varchar(50) NOT NULL,
      `web_id` int(11) NOT NULL,
      `type_id` int(11) NOT NULL,
      `pro_id` int(11) NOT NULL,
      `measure_time` datetime NOT NULL,
      `measure_value` double NOT NULL,
      `dest_pro` int(11) DEFAULT NULL,
      `dest_isp` int(11) DEFAULT NULL,
      `bandwidth` varchar(55) DEFAULT NULL,
      `isp_id` int(11) DEFAULT NULL,
      `is_useful` int(11) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8
     PARTITION BY RANGE (month(measure_time))
    (PARTITION p1 VALUES LESS THAN (1) ENGINE = MyISAM,
     PARTITION p2 VALUES LESS THAN (2) ENGINE = MyISAM,
     PARTITION p3 VALUES LESS THAN (3) ENGINE = MyISAM,
     PARTITION p4 VALUES LESS THAN (4) ENGINE = MyISAM,
     PARTITION p5 VALUES LESS THAN (5) ENGINE = MyISAM,
     PARTITION p6 VALUES LESS THAN (6) ENGINE = MyISAM,
     PARTITION p7 VALUES LESS THAN (7) ENGINE = MyISAM,
     PARTITION p8 VALUES LESS THAN (8) ENGINE = MyISAM,
     PARTITION p9 VALUES LESS THAN (9) ENGINE = MyISAM,
     PARTITION p10 VALUES LESS THAN (10) ENGINE = MyISAM,
     PARTITION p11 VALUES LESS THAN (11) ENGINE = MyISAM,
     PARTITION p12 VALUES LESS THAN (12) ENGINE = MyISAM,
     PARTITION p13 VALUES LESS THAN MAXVALUE ENGINE = MyISAM);
    这样不行啊,分区怎样和分表结合使用?····
      

  2.   

    因为你分表用的Myisam引擎,  而Myisam引擎不能用与分区