散列分区(hash分区)案例

发布时间:2024年01月08日

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

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内

案例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

文章来源:https://blog.csdn.net/wudongfang666/article/details/135456398
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。