mysql分区大于_mysql的分区

查看mysql的分区功能是否启用:mysql> show variables like '%part%';

+-------------------+-------+

| Variable_name     | Value |

+-------------------+-------+

| have_partitioning | YES   |

+-------------------+-------+

1 row in set (0.00 sec)

创建一个分区表:CREATE TABLE `test100` (

`xuhao` int(11) NOT NULL,

`xuhao2` int(11) NOT NULL,

) ENGINE=innodb DEFAULT CHARSET=utf8 PARTITION BY RANGE (xuhao)

(PARTITION p201303 VALUES LESS THAN (unix_timestamp('2013-04-01')),PARTITION p201304 VALUES LESS THAN (unix_timestamp('2013-05-01')),PARTITION p201305 VALUES LESS THAN (unix_timestamp('2013-06-01')),PARTITION p201306 VALUES LESS THAN (unix_timestamp('2013-07-01')),PARTITION p201307 VALUES LESS THAN (unix_timestamp('2013-08-01')),PARTITION p201308 VALUES LESS THAN (unix_timestamp('2013-09-01')),PARTITION p201309 VALUES LESS THAN (unix_timestamp('2013-10-01')),PARTITION p201310 VALUES LESS THAN (unix_timestamp('2013-11-01')),PARTITION p201311 VALUES LESS THAN (unix_timestamp('2013-12-01')),PARTITION p201312 VALUES LESS THAN (unix_timestamp('2014-01-01')),PARTITION p201401 VALUES LESS THAN (unix_timestamp('2014-02-01'))

);

添加分区:

alter table xxxxxxx add partition (partition p0 values less than(1991));  //只能添加大于分区键的分区

删除分区:alter table xxx drop partition p0; //可以删除任意分区

删除分区数据alter table xxxxxx  truncate partition p1,p2;alter table xxxxxx  truncate partition all;

或delete from xxxxxx where separated = '2006-01-01' and separated

重定义分区(包括重命名分区,伴随移动数据;合并分区)alter table xxxxx reorganize partition p1,p3,p4 into (partition pm1 values less than(2006),partition pm2 values less than(2011));

rebuild重建分区alter  table xxxxxx rebuild partition pm1/all; //相当于drop所有记录,然后再reinsert;可以解决磁盘碎片

优化表alter  table tt2 optimize partition pm1; //在大量delete表数据后,可以回收空间和碎片整理。但在5.5.30后支持。在5.5.30之前可以通过recreate+analyze来替代,如果用rebuild+analyze速度慢

analzye表alter  table xxxxxx analyze partition pm1/all;

check表alter  table xxxxxx check partition pm1/all;show create table employees2;  //查看分区表的定义show table status like 'employees2'\G;    //查看表时候是分区表 如“Create_options: partitioned”select * from information_schema.KEY_COLUMN_USAGE where table_name='employees2';   //查看索引SELECT * FROM information_schema.partitions WHERE table_name='employees2'   //查看分区表explain partitions select * from employees2 where separated  '2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值