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;