按时间给表建立range分区

 CREATE TABLE `t_agent_adv` (                                                                                   
               `agent_adv_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',                                             
               `agent_id` int(11) DEFAULT NULL COMMENT '终端ID',                                                          
               `adv_name` varchar(255) DEFAULT NULL COMMENT '视频名称',                                                 
               `adv_size` varchar(255) DEFAULT NULL COMMENT '视频大小',                                                 
               `adv_duration` varchar(255) DEFAULT NULL COMMENT '视频时长',                                             
               `type` varchar(60) DEFAULT NULL,                                                                             
               `create_time` datetime DEFAULT NULL,                                                                         
               `adv_md5` varchar(255) DEFAULT NULL COMMENT '视频MD5',                                                     
               `bak` varchar(10) DEFAULT NULL,                                                                              
               `status` smallint(1) DEFAULT '1' COMMENT '使用标志(1使用/-1删除)',                                   
               PRIMARY KEY (`agent_adv_id`),                                                                                
               KEY `NewIndex1` (`adv_name`),                                                                                
               KEY `NewIndex2` (`agent_id`,`adv_name`)                                                                      
             ) ENGINE=InnoDB AUTO_INCREMENT=162560974 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC  

1. 修改主键,使分区键成为主键的一部分
 
2.添加分区</span>
alter table t_agent_adv partition by range(to_days(create_time))
(
partition  p0 VALUES LESS THAN (736096) ,
partition  p1 VALUES LESS THAN (736188) ,
partition  p2 VALUES LESS THAN (736249) ,
PARTITION  p3 VALUES LESS THAN MAXVALUE
ENGINE = InnoDB);

分区使用的列必须是主键,且UNIQUE键必须进入分区列,这个使分区受到很大限制,特别是 联合主键不解决问题,必须使用UNIQUE键的情况。</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值