分区表及分区索引(6)--创建range-list组合分区

本文详细介绍了如何在SQL中创建使用range和list组合的分区表,并展示了分区表的创建过程,包括创建本地索引、分区信息和子分区详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全面学习分区表及分区索引(6)--创建range-list组合分区
SQL> create table part_rl (id number(10),name varchar2(10))
  2  partition by range(id) subpartition by list(name)
  3  subpartition template(
  4  subpartition l1 values ('aa') tablespace part01,
  5  subpartition l2 values ('bb') tablespace part02,
  6  subpartition l3 values ('cc') tablespace part03)(
  7  partition t_r_p1 values less than (10) tablespace part01,
  8  partition t_r_p2 values less than (20) tablespace part02,
  9  partition t_r_p3 values less than (maxvalue) tablespace part03);
 
Table created








SQL> select partition_name ,subpartition_name ,tablespace_name 
  2  from user_tab_subpartitions where table_name ='PART_RL';
 
PARTITION_NAME                 SUBPARTITION_NAME              TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
T_R_P1                         T_R_P1_L1                      PART01
T_R_P1                         T_R_P1_L2                      PART01
T_R_P1                         T_R_P1_L3                      PART01
T_R_P2                         T_R_P2_L1                      PART02
T_R_P2                         T_R_P2_L2                      PART02
T_R_P2                         T_R_P2_L3                      PART02
T_R_P3                         T_R_P3_L1                      PART03
T_R_P3                         T_R_P3_L2                      PART03
T_R_P3                         T_R_P3_L3                      PART03
 
9 rows selected






 //创建本地索引
SQL> create index idx_part_rl_id on part_rl(id) local;
 
Index created






SQL> select table_name ,partitioning_type,partition_count,def_subpartition_count
  2  from user_part_indexes
  3  where index_name = 'IDX_PART_RL_ID';
 
TABLE_NAME                     PARTITIONING_TYPE PARTITION_COUNT DEF_SUBPARTITION_COUNT
------------------------------ ----------------- --------------- ----------------------
PART_RL                        RANGE                           3                      3 //两个3.






SQL> select partition_name ,subpartition_name ,high_value ,tablespace_name
  2  from user_ind_subpartitions
  3  where index_name = 'IDX_PART_RL_ID';
 
PARTITION_NAME                 SUBPARTITION_NAME              HIGH_VALUE                                                                       TABLESPACE_NAME
------------------------------ ------------------------------ -------------------------------------------------------------------------------- ------------------------------
T_R_P1                         T_R_P1_L1                      'aa'                                                                             PART01
T_R_P1                         T_R_P1_L2                      'bb'                                                                             PART01
T_R_P1                         T_R_P1_L3                      'cc'                                                                             PART01
T_R_P2                         T_R_P2_L1                      'aa'                                                                             PART02
T_R_P2                         T_R_P2_L2                      'bb'                                                                             PART02
T_R_P2                         T_R_P2_L3                      'cc'                                                                             PART02
T_R_P3                         T_R_P3_L1                      'aa'                                                                             PART03
T_R_P3                         T_R_P3_L2                      'bb'                                                                             PART03
T_R_P3                         T_R_P3_L3                      'cc'                                                                             PART03
 
9 rows selected




公共准则


1、如果选择的分区不能确保各分区内记录量的基本平均,则这种分区方式有可能是不恰当的。


比如对于range分区,假设分了10个分区,而其中一个分区中的记录数占总记录数的90%,其它9个分区只占总记录数的10%,则这个分区方式就起不到数据平衡的作用。当然,如果你的目的并不是为了平衡,只是为了区分数据,ok,对于这种情况,我想说的是,你务必要意识到存在这个问题。


2、对于分区的表或索引,其所涉及的所有分区,其块大小必须一致。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值