登录
首页 >  数据库 >  MySQL

mysql 进行表分区

来源:SegmentFault

时间:2023-01-27 20:59:36 233浏览 收藏

积累知识,胜过积蓄金银!毕竟在##column_title##开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《mysql 进行表分区》,就带大家讲解一下MySQL知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

先简单记录一下,有时间再优化分析。

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'; 

终于介绍完啦!小伙伴们,这篇关于《mysql 进行表分区》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表