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;