表分区的维护

-----------表分区的维护----------- -------增加分区 ALTER TABLE 表名 ADD PARTITION 分区名 VALUES LESS THAN(值) ----删除分区 ALTER TABLE 表名 DROP PARTITION 分区表名

----截断分区 删除当前分区的数据,但是他并不会删除当前分区,也不会影响其他分区 ALTER TABLE 表名  TRUNCATE PARTITION 已存在的分区表 ---合并分区 高界线不能合并到低界线的 ALTER TABLE 表名 MERGE PARTITIONS 分区1,分区2 INTO PARTITION 分区表2

CREATE TABLE dlist(  dt_date  DATE NOT NULL ) PARTITION BY RANGE(dt_date)(      PARTITION p1 VALUES LESS THAN(to_date('1/1/2009','dd/mm/yy')),      PARTITION p2 VALUES LESS THAN(to_date('1/1/2011','dd/mm/yy')),      PARTITION p4 VALUES LESS THAN(MAXVALUE)    );  ---删除分区  ALTER TABLE dlist DROP PARTITION p4;  ---增加表分区  ALTER TABLE dlist ADD PARTITION p5 VALUES LESS THAN(to_date('1/1/2012','dd/mm/yy')); --插入数据 INSERT INTO dlist VALUES(to_date('1/1/2009','dd/mm/yy')); INSERT INTO dlist VALUES(to_date('6/6/2009','dd/mm/yy')); INSERT INTO dlist VALUES(to_date('1/12/2009','dd/mm/yy')); INSERT INTO dlist VALUES(to_date('1/1/2010','dd/mm/yy')); INSERT INTO dlist VALUES(to_date('1/6/2010','dd/mm/yy')); INSERT INTO dlist VALUES(to_date('1/1/2011','dd/mm/yy')); INSERT INTO dlist VALUES(to_date('1/12/2011','dd/mm/yy'));

SELECT *FROM dlist; SELECT*FROM dlist PARTITION(p1); SELECT*FROM dlist PARTITION(p2); SELECT*FROM dlist PARTITION(p5); ---截取分区 ALTER TABLE dlist TRUNCATE PARTITION(p2); --合并分区 ALTER TABLE dlist MERGE PARTITIONS p2,p5 INTO PARTITION p5;

posted @ 2015-01-19 22:28  孟子辰  阅读(275)  评论(0编辑  收藏  举报