mysql 分区表合并_Oracle 11g: 合并分区表-merge partition

本文介绍了如何在MySQL和Oracle中合并分区表,特别是针对范围分区的合并操作。通过ALTER TABLE .. MERGE PARTITION语句,可以将两个临近的分区合并到另一个分区,但不适用于hash分区表或某些特定情况。同时,文章提到了在合并过程中对局部索引的影响,以及如何重建不可用的索引。
摘要由CSDN通过智能技术生成

使用ALTER TABLE .. MERGE PARTITION语句将两个分区的内容合并到另外一个分区,两个源分区和关联的local index都会被drop,不能用

Merging Partitions

使用ALTER TABLE .. MERGE PARTITION语句将两个分区的内容合并到另外一个分区,两个源分区和关联的local index都会被drop

不能用于 hash分区表或 hash subpartitions of a composite *-hash partitioned table

不能用于合并引用分区表(reference-partitioned table)

合并范围分区

允许合并两个临近范围的分区到另外分区,不相邻分区无法合并。合并结果分区继承两个源分区的最大边界。

demo:

-- Create a Table with four partitions each on its own tablespace

-- Partitioned by range on the data column.

CREATE TABLE four_seasons

(

one DATE,

two VARCHAR2(60),

three NUMBER

)

PARTITION BY RANGE ( one )

(

PARTITION quarter_one

VALUES LESS THAN ( TO_DATE('01-apr-1998','dd-mon-yyyy'))

TABLESPACE quarter_one,

PARTITION quarter_two

VALUES LESS THAN ( TO_DATE('01-jul-1998','dd-mon-yyyy'))

TABLESPACE quarter_two,

PARTITION quarter_three

VALUES LESS THAN ( TO_DATE('01-oct-1998','dd-mon-yyyy'))

TABLESPACE quarter_three,

PARTITION quarter_four

VALUES LESS THAN ( TO_DATE('01-jan-1999','dd-mon-yyyy'))

TABLESPACE quarter_four

);

-- Create local PREFIXED index on Four_Seasons

-- Prefixed because the leftmost columns of the index match the

-- Partitioning key CREATE INDEX i_four_seasons_l ON four_seasons ( one,two )

LOCAL (

PARTITION i_quarter_one TABLESPACE i_quarter_one,

PARTITION i_quarter_two TABLESPACE i_quarter_two,

PARTITION i_quarter_three TABLESPACE i_quarter_three,

PARTITION i_quarter_four TABLESPACE i_quarter_four

);

下一步,,合并分区.

-- Merge the first two partitions

--

ALTER TABLE four_seasons

MERGE PARTITIONS quarter_one, quarter_two INTO PARTITION quarter_two

UPDATE INDEXES;

如果不显式声明 UPDATE INDEXES 语句,就必须给受影响的分区 rebuild the local index.

-- Rebuild index for quarter_two, which has been marked unusable

-- because it has not had all of the data from Q1 added to it.

-- Rebuilding the index will correct this.

--

ALTER TABLE four_seasons MODIFY PARTITION

quarter_two REBUILD UNUSABLE LOCAL INDEXES;

合并Interval Partitions

同RANGE一样,必须两个相邻分区才能合并

合并 List partitions则没有限制

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值