創建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;


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