表分区和索引分区

分区设计建议

1)选择什么类型的分区:变化量大的选择范围分区,变化量小的选择哈希分区。
2)选择分区索引:本地前缀索引最佳,另外有本地非前缀索引和全局分区索引,后者性能佳,但一旦删除一个分区则必须重建;前者可以直接删除一个分区。
3)如果有些分区数据不会再变化(例如以时间分区),建议将不同分区存放在不同表空间(partition P1 tablespace TBS_1子句),可降低备份工作量。





用分区交换技术快速归档历史数据

点击(此处)折叠或打开

  1. create table STAGE as select * from txn_current where 1=2;

  2. alter table txn_current exchange partition p_2003 with table STAGE;

  3. alter table txn_history exchange partition p_2003 with table STAGE;
上例中,STAGE作为过渡表,将txn_current表中p_2003分区中的数据,归档到表txn_history中。

将普通表转换成分区表

如果数据量不大,建议使用先创建新分区表,再重命名的方式。
如果数据量特别大,可以使用如下在线重定义方式。

表分区和索引分区_第1张图片 表分区和索引分区_第2张图片 表分区和索引分区_第3张图片


表分区和索引分区_第4张图片


查看表分区的状况


点击(此处)折叠或打开

  1. select table_name, partitioned
  2. from dba_tables
  3. where table_name in ('DEPT','EMP');

TABLE_NAME PAR
DEPT         YES
EMP          NO


点击(此处)折叠或打开

  1. select owner, table_name, partition_count, partition_type
  2. from dba_part_tables
  3. where table_name = 'DEPT';

OWNER TABLE_NAME PARTITION_COUNT PARTITION_TYPE
KEVIN    DEPT          3            RANGE


点击(此处)折叠或打开

  1. select segment_name, partition_name, segment_type, tablespace_name
  2. from user_segments;

SEGMENT_NAME PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME
EMP                           TABLE              USER_DATA
DEPT          D1              TABLE PARTITION    DEPT1
DEPT          D2              TABLE PARTITION    DEPT2
DEPT          D3              TABLE PARTITION    DEPT3




来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22621861/viewspace-1307382/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22621861/viewspace-1307382/

你可能感兴趣的:(表分区和索引分区)