mysql添加子分区_MySQL子分区一例

本文通过一个实际示例介绍了如何在MySQL中创建并添加子分区,包括使用RANGE对CDATE字段按年分区,以及进一步使用HASH对日期进行子分区。示例中展示了ALTER TABLE语句用于增加新的分区和子分区,帮助理解MySQL分区管理。
摘要由CSDN通过智能技术生成

这是现实中的一个例子,但是我不推荐使用MySQL分区用于生产CREATE TABLE `t_log` (

`ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',

`VERSON` int(11) NOT NULL DEFAULT 0 COMMENT ' 版本号',

`ACTIONS` varchar(100) DEFAULT NULL COMMENT ' 操作记录',

`ADMINID` int(11) DEFAULT 1 COMMENT '管理员ID',

`IP` varchar(20) DEFAULT '1' COMMENT ' 登录Ip',

`CDATE` datetime NOT NULL COMMENT '添加时间',

`UDATE` datetime NOT NULL COMMENT '修改时间',

PRIMARY KEY (`ID`,`CDATE`),

KEY `ADMINID` (`ADMINID`) USING BTREE

) ENGINE=InnoDB   DEFAULT CHARSET=utf8 COMMENT='日志表'

Time: 0.024s

ALTER TABLE `blog`.`t_log` PARTITION BY RANGE (year(`CDATE`))

PARTITIONS 1

SUBPARTITION BY HASH (to_days(`CDATE`))

SUBPARTITIONS 4

(PARTITION `p0` VALUES LESS THAN (2020)

(SUBPARTITION `s200`  ,

SUBPARTITION `s201`  ,

SUBPARTITION `s202`  ,

SUBPARTITION `s203`  ))

Time: 0.057s

alter table t_log

ADD PARTITION (PARTITION `p1` VALUES LESS THAN (2021)(

SUBPARTITION `s210` ENGINE = InnoDB,

SUBPARTITION `s211` ENGINE = InnoDB,

SUBPARTITION `s212` ENGINE = InnoDB,

SUBPARTITION `s213` ENGINE = InnoDB

))

Time: 0.054s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值