散列分区(hash分区)案例

在列取值难以确定的情况下采用的分区方法

1.hash分区可以由hash键来分布

2.dba无法获知具体的数据值

3.数据的分布由oracle处理

4每个分区有自己的表空间

--建表同上一节
CREATE TABLE ware_retail_part3(
    id INTEGER primary key,
    retail_date date,
    ware_name VARCHAR2(50)
)
--散列分区,自动分配,无需设置条件
partition by hash(id)
(    
partition par_01  tablespace TBSP_1,
partition par_02  tablespace TBSP_2
);

--插入数据,查看结果

INSERT into ware_retail_part3 values(99,to_date('2011-11-11','yyyy-mm-dd'),'电脑');
select * from ware_retail_part3 partition(par_01);
select * from ware_retail_part3 partition(par_02);--数据在分区par_02内

散列分区(hash分区)案例_第1张图片

案例2.不指定分区名字,由系统默认设置

--散列分区2
CREATE table person
(
    id NUMBER primary key,
    name VARCHAR2(20),
    sex VARCHAR2(2)
)
partition by hash(id)
partitions 2  --此处注意书写是复数形式
store in(tbsp_1,tbsp_2);

--想在表空间里面查看默认的分区名字,但是没有找到,有了解的吗?

案例3散列分区

--散列分区3
CREATE TABLE goods1(
    id NUMBER,
    goodname VARCHAR2(20)
)
storage(INITIAL 2048k)
partition by hash(id)
(
    partition par1 tablespace tbsp_1,
    partition par2 tablespace tbsp_2
);

--此案例指定表分区初始化空间,大小为2048K

你可能感兴趣的:(哈希算法,算法)