先簡單記錄一下,有時間再優化分析。express
CREATE TABLE `client_shop_pay_flow` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uname` varchar(45) NOT NULL DEFAULT '' COMMENT 'uname', `money` double DEFAULT '0' COMMENT '金額', `paycode` varchar(100) NOT NULL DEFAULT '' COMMENT '訂單號', `pay_type` tinyint(2) NOT NULL DEFAULT '0' COMMENT '1雲豆,2積分', `status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '0 默認 1成功 2異常', `ctime` int(11) NOT NULL DEFAULT '0' COMMENT '建立時間', `utime` int(11) NOT NULL DEFAULT '0' COMMENT '響應時間', PRIMARY KEY (`id`,`ctime`), KEY `pay_code` (`pay_code`), KEY `index_uname` (`uname`), KEY `index_utime` (`utime`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 PARTITION BY RANGE (ctime)( PARTITION p201901 VALUES LESS THAN (unix_timestamp('2019-02-01')), PARTITION p201902 VALUES LESS THAN (unix_timestamp('2019-03-01')), PARTITION p201903 VALUES LESS THAN (unix_timestamp('2019-04-01')), PARTITION p201904 VALUES LESS THAN (unix_timestamp('2019-05-01')), PARTITION p201905 VALUES LESS THAN (unix_timestamp('2019-06-01')), PARTITION p201906 VALUES LESS THAN (unix_timestamp('2019-07-01')), PARTITION p201907 VALUES LESS THAN (unix_timestamp('2019-08-01')), PARTITION p201908 VALUES LESS THAN (unix_timestamp('2019-09-01')), PARTITION p201909 VALUES LESS THAN (unix_timestamp('2019-10-01')), PARTITION p201910 VALUES LESS THAN (unix_timestamp('2019-11-01')), PARTITION p201911 VALUES LESS THAN (unix_timestamp('2019-12-01')), PARTITION p201912 VALUES LESS THAN (unix_timestamp('2020-01-01')), PARTITION p202001 VALUES LESS THAN (unix_timestamp('2020-02-01')), PARTITION p202002 VALUES LESS THAN (unix_timestamp('2020-03-01')), PARTITION p202003 VALUES LESS THAN (unix_timestamp('2020-04-01')), PARTITION p202004 VALUES LESS THAN (unix_timestamp('2020-05-01')), PARTITION p202005 VALUES LESS THAN (unix_timestamp('2020-06-01')), PARTITION p202006 VALUES LESS THAN (unix_timestamp('2020-07-01')), PARTITION p202007 VALUES LESS THAN (unix_timestamp('2020-08-01')), PARTITION p202008 VALUES LESS THAN (unix_timestamp('2020-09-01')), PARTITION p202009 VALUES LESS THAN (unix_timestamp('2020-10-01')), PARTITION p202010 VALUES LESS THAN (unix_timestamp('2020-11-01')), PARTITION p202011 VALUES LESS THAN (unix_timestamp('2020-12-01')), PARTITION p202012 VALUES LESS THAN (unix_timestamp('2021-01-01')), PARTITION p2021 VALUES LESS THAN (MAXVALUE) );
select partition_name part, partition_expression expr, partition_description descr, table_rows from information_schema.partitions where table_schema = schema() and table_name='client_shop_pay_flow';