1. 程式人生 > 其它 >mysql 根據建立分割槽表,檢視分割槽表

mysql 根據建立分割槽表,檢視分割槽表

1 根據id範圍進行分割槽

CREATE TABLE `person1` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `age` int(10) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10611038 DEFAULT CHARSET=utf8

PARTITION BY RANGE(id)(
    PARTITION p0 VAlUES LESS THAN(100),
    PARTITION p1 VALUES LESS THAN(200),
    PARTITION p2 VALUES LESS THAN(300),
    PARTITION p3 VALUES LESS THAN(400),
    PARTITION p4 values less than maxvalue

);

 

2 根據時間進行分割槽

 CREATE TABLE part_date
          (  c1 int default NULL,
      c2 varchar(30) default NULL,
      c3 date default NULL) engine=myisam
     partition by range (to_days(c3))
     (PARTITION p0 VALUES LESS THAN (to_days('2022-03-01')),
     PARTITION p1 VALUES LESS THAN (to_days('2022-04-01')) ,
     PARTITION p11 VALUES LESS THAN MAXVALUE );

注意:必須要用日期轉換函式,否則失效

 

3 檢視分割槽個數,以及分割槽的行數

select partition_name, PARTITION_DESCRIPTION, PARTITION_EXPRESSION, table_rows from information_schema.partitions where table_name = '表名'