ITPub博客

首页 > 数据库 > Oracle > 表分区和索引分区

表分区和索引分区

原创 Oracle 作者:hooca 时间:2014-10-22 17:49:00 0 删除 编辑
分区设计建议

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. 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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 排序和表连接
请登录后发表评论 登录
全部评论

注册时间:2009-09-29

  • 博文量
    215
  • 访问量
    403359