创建mysql分区表操作

1、创建LIST分区表

CREATE TABLE `m_tbstatus` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
  `dbid` INT(11) NOT NULL COMMENT '数据库ID',
  `checktime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
  `dbname` VARCHAR(100) DEFAULT NULL COMMENT '库名',
  `tbname` VARCHAR(100) DEFAULT NULL COMMENT '表名',
  `ename` VARCHAR(50) DEFAULT NULL COMMENT '存储引擎',
  `tbcomm` VARCHAR(200) DEFAULT NULL COMMENT '表说明',
  `tbrow` BIGINT(20) DEFAULT '0' COMMENT '表记录数',
  `indexby` BIGINT(20) DEFAULT '0' COMMENT '索引大小字节',
  `databy` BIGINT(20) DEFAULT '0' COMMENT '数据大小字节',
  PRIMARY KEY (`id`,dbid),
  KEY `ix_m_tbstatus_dbid_checktime` (`dbid`,`checktime`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='表状态监控' PARTITION BY LIST(dbid)(
PARTITION PDB1 VALUES IN (1),
PARTITION PDB2 VALUES IN (2),
PARTITION PDB3 VALUES IN (3), ) ;

2、创建RANGE分区表

CREATE TABLE `m_tbstatus_rang` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
  `dbid` INT(11) NOT NULL COMMENT '数据库ID',
  `checktime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
  `dbname` VARCHAR(100) DEFAULT NULL COMMENT '库名',
  `tbname` VARCHAR(100) DEFAULT NULL COMMENT '表名',
  `ename` VARCHAR(50) DEFAULT NULL COMMENT '存储引擎',
  `tbcomm` VARCHAR(200) DEFAULT NULL COMMENT '表说明',
  `tbrow` BIGINT(20) DEFAULT '0' COMMENT '表记录数',
  `indexby` BIGINT(20) DEFAULT '0' COMMENT '索引大小字节',
  `databy` BIGINT(20) DEFAULT '0' COMMENT '数据大小字节',
  PRIMARY KEY (`id`,dbid),
  KEY `ix_m_tbstatus_dbid_checktime` (`dbid`,`checktime`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='表状态监控' 
PARTITION BY RANGE(dbid)(
PARTITION PDB1 VALUES LESS THAN (1),
PARTITION PDB2 VALUES LESS THAN (2),
PARTITION PDBMAX VALUES LESS THAN MAXVALUE );


3、创建KEY分区表

CREATE TABLE `m_tbstatus_key` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
  `dbid` INT(11) NOT NULL COMMENT '数据库ID',
  `checktime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
  `dbname` VARCHAR(100) DEFAULT NULL COMMENT '库名',
  `tbname` VARCHAR(100) DEFAULT NULL COMMENT '表名',
  `ename` VARCHAR(50) DEFAULT NULL COMMENT '存储引擎',
  `tbcomm` VARCHAR(200) DEFAULT NULL COMMENT '表说明',
  `tbrow` BIGINT(20) DEFAULT '0' COMMENT '表记录数',
  `indexby` BIGINT(20) DEFAULT '0' COMMENT '索引大小字节',
  `databy` BIGINT(20) DEFAULT '0' COMMENT '数据大小字节',
  PRIMARY KEY (`id`,dbid),
  KEY `ix_m_tbstatus_dbid_checktime` (`dbid`,`checktime`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='表状态监控' 
PARTITION BY KEY (dbid)
PARTITIONS 4;

4、创建Hash分区表

CREATE TABLE `m_tbstatus_hash` (
  `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '序号',
  `dbid` INT(11) NOT NULL COMMENT '数据库ID',
  `checktime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '插入时间',
  `dbname` VARCHAR(100) DEFAULT NULL COMMENT '库名',
  `tbname` VARCHAR(100) DEFAULT NULL COMMENT '表名',
  `ename` VARCHAR(50) DEFAULT NULL COMMENT '存储引擎',
  `tbcomm` VARCHAR(200) DEFAULT NULL COMMENT '表说明',
  `tbrow` BIGINT(20) DEFAULT '0' COMMENT '表记录数',
  `indexby` BIGINT(20) DEFAULT '0' COMMENT '索引大小字节',
  `databy` BIGINT(20) DEFAULT '0' COMMENT '数据大小字节',
  PRIMARY KEY (`id`,dbid),
  KEY `ix_m_tbstatus_dbid_checktime` (`dbid`,`checktime`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='表状态监控' 
PARTITION BY HASH (dbid) 
PARTITIONS 4;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章