mysql 分區表


1.創建分區表

CREATE TABLE `fs_orders_funds_detail_sp32` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `confirm_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `order_id` varchar(50) DEFAULT NULL COMMENT '平台單號',
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`,`confirm_time`),
) ENGINE=InnoDB  DEFAULT CHARSET=utf8
/*!50100 PARTITION BY RANGE (TO_DAYS (confirm_time))
(PARTITION p_less_min VALUES LESS THAN (737425) ENGINE = InnoDB,
 PARTITION p_201901 VALUES LESS THAN (737456) ENGINE = InnoDB,
 PARTITION p_201902 VALUES LESS THAN (737484) ENGINE = InnoDB,
 PARTITION p_201903 VALUES LESS THAN (737515) ENGINE = InnoDB,
 PARTITION p_201904 VALUES LESS THAN (737545) ENGINE = InnoDB,
 PARTITION p_201905 VALUES LESS THAN (737576) ENGINE = InnoDB,
 PARTITION p_201906 VALUES LESS THAN (737606) ENGINE = InnoDB,
 PARTITION p_201907 VALUES LESS THAN (737637) ENGINE = InnoDB,
 PARTITION p_201908 VALUES LESS THAN (737668) ENGINE = InnoDB,
 PARTITION p_201909 VALUES LESS THAN (737698) ENGINE = InnoDB,
 PARTITION p_201910 VALUES LESS THAN (737729) ENGINE = InnoDB,
 PARTITION p_201911 VALUES LESS THAN (737759) ENGINE = InnoDB,
 PARTITION p_201912 VALUES LESS THAN (737790) ENGINE = InnoDB,
 PARTITION p_202001 VALUES LESS THAN (737821) ENGINE = InnoDB,
 PARTITION p_202002 VALUES LESS THAN (737850) ENGINE = InnoDB,
 PARTITION p_202003 VALUES LESS THAN (737881) ENGINE = InnoDB,
 PARTITION p_202004 VALUES LESS THAN (737911) ENGINE = InnoDB,
 PARTITION p_202005 VALUES LESS THAN (737942) ENGINE = InnoDB,
 PARTITION p_202006 VALUES LESS THAN (737972) ENGINE = InnoDB,
 PARTITION p_202007 VALUES LESS THAN (738003) ENGINE = InnoDB,
 PARTITION p_202008 VALUES LESS THAN (738034) ENGINE = InnoDB,
 PARTITION p_202009 VALUES LESS THAN (738064) ENGINE = InnoDB,
 PARTITION p_202010 VALUES LESS THAN (738095) ENGINE = InnoDB,
 PARTITION p_202011 VALUES LESS THAN (738125) ENGINE = InnoDB,
 PARTITION p_202012 VALUES LESS THAN (738156) ENGINE = InnoDB,
 PARTITION p_less_max VALUES LESS THAN MAXVALUE ENGINE = InnoDB) */;

以confirm_time 作為分區字段

2.判斷分區是否存在

SELECT partition_name,partition_expression,partition_description,table_rows FROM  INFORMATION_SCHEMA.partitions
              WHERE  TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='表名' and partition_name='分區名稱'

3.新增分區

alter table 表名 add partition (
                        partition 分區名 values less than (分區范圍) engine = innodb
                )

4.刪除分區

alter table 表名 drop partition 分區名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM