MySQL多列分区

一个针对MySQL5.5 COLUMNS分区的实例
创建表:

	drop table if exists partition_test;CREATE TABLE `partition_test` (
	  `t_id` int(11) NOT NULL AUTO_INCREMENT,
	  `test_date` datetime NOT NULL,
	  `t_key` varchar(16),
	  `test_info` varchar(50) DEFAULT 'test',
	  PRIMARY KEY (`t_id`,`test_date`,`t_key`)
	) ENGINE=InnoDB DEFAULT CHARSET=utf8
	PARTITION BY RANGE COLUMNS (test_date,t_key)
	(
	PARTITION p201303151 VALUES LESS THAN ('2013-03-15','m2'),
	PARTITION p201303152 VALUES LESS THAN ('2013-03-15','m3'),
	PARTITION p201303161 VALUES LESS THAN ('2013-03-16','m2'),
	PARTITION p201303162 VALUES LESS THAN ('2013-03-16','m3'),
	PARTITION p201303171 VALUES LESS THAN ('2013-03-17','m2'),
	PARTITION p201303172 VALUES LESS THAN ('2013-03-17','m3')
	);

注意两点:1、5.5新增COLUMNS分区后,时间不再需要时间转换函数;2、分区字段必须为主键
增加表分区

alter table `partition_test` add PARTITION(PARTITION p201303181 VALUES LESS THAN ('2013-03-18','m2'));

删除表分区(删除分区会删除分区中的数据)

alter table `partition_test` DROP PARTITION p201303181;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值