(转)深入学习分区表及分区索引(3)--创建hash分区)

创建hash分区

语法如下:[图:hash_partitioning.gif]

 7607759_200805081300421.gif

语法看起来比range复杂,其实使用起来比range更简单,这里需要我们指定的有:

column:分区依赖列(支持多个,中间以逗号分隔);

partition:指定分区,有两种方式:

直接指定分区名,分区所在表空间等信息

只指定分区数量,和可供使用的表空间。

① 创建hash分区表

JSSWEB> create table t_partition_hash (id number,name varchar2(50))

  2  partition by hash(id)(

  3  partition t_hash_p1 tablespace tbspart01,

  4  partition t_hash_p2 tablespace tbspart02,

  5  partition t_hash_p3 tablespace tbspart03);

表已创建。

要实现同样效果,你还可以这样:

JSSWEB> create table t_partition_hash2 (id number,name varchar2(50))

  2  partition by hash(id)

  3  partitions 3 store in(tbspart01,tbspart02,tbspart03);

表已创建。

这就是上面说的,直接指定分区数量和可供使用的表空间。

提示:这里分区数量和可供使用的表空间数量之间没有直接对应关系。分区数并不一定要等于表空间数。

要查询表的分区信息,仍然是通过user_part_tables,user_tab_partitions两个数据字典,这里不再举例。

② Global索引hash分区

Hash分区索引的子句与hash分区表的创建子句完全相同,例如:

JSSWEB> create index idx_part_hash_id on t_partition_hash(id)

  2  global partition by hash(id)

  3  partitions 3 store in(tbspart01,tbspart02,tbspart03);

索引已创建。

查询索引的分区信息也仍是通过user_part_indexes、user_ind_partitions两个数据字典,不再举例。

③ 创建Local索引

在前面学习range分区时,我们已经对Local索引的特性做了非常清晰的概述,因此这里也不再举例,如有疑问,建议再仔细复习range分区的相关示例,如果还有疑问,当面问我好了:)

综上:

Ø 对于global索引分区而言,在10g中只能支持range分区和hash分区,因此后续示例中不会再提及。

Ø 对于local索引分区而言,其分区形式完全依赖于索引所在表的分区形式,不管从创建语法还是理解难度均无技术含量,因此后续也不再提供示例。

Ø 注意,在创建索引时如果不显式指定global或local,则默认是global。

Ø 注意,在创建global索引时如果不显式指定分区子句,则默认不分区(废话)。

==================================

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

转载于:http://blog.itpub.net/10007212/viewspace-293417/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值