ORACLE分区表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ORACLE分区表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2954字,纯文字阅读大概需要5分钟。
内容图文
![ORACLE分区表](/upload/InfoBanner/zyjiaocheng/532/8c4ce49ad2e147f2a1bf7672378b7a35.jpg)
分区表的基本思想就是“分而治之”,所谓“分而治之”就是允许用户将一个存储大数据量表划分成若干个部分,想成相对
分区表的基本思想就是“分而治之”,所谓“分而治之”就是允许用户将一个存储大数据量表划分成若干个部分,想成相对小、可以独立管理的分区。从而减少了表中数据的存储量,同时加快了检索表数据查询效率。
ORACLE 分区表类型有:范围分区、列表分区、间隔分区、散列分区、虚拟分区等。
这次就练习范围分区的创建和使用,直接进入实战:
--创建test_partitioning表,并以t_id为范围进行分区
create table test_partitioning(
t_id number,
t_name varchar2(10)
)
partition by range(t_id) --range(t_id)表示以t_id作为范围分区列
(
partition t_p1 values less than(2), --2表此区间存放最上限,不包括2(存放至<2)
partition t_p2 values less than(4),
partition t_p3 values less than(6)
);
SQL> insert into test_partitioning values(1,'a');
1 row inserted
SQL> insert into test_partitioning values(2,'b');
1 row inserted
SQL> insert into test_partitioning values(3,'c');
1 row inserted
SQL> insert into test_partitioning values(4,'d');
1 row inserted
SQL> insert into test_partitioning values(5,'e');
1 row inserted
SQL> commit;
Commit complete
--查询所有分区数据
SQL> select * from test_partitioning;
T_ID T_NAME
---------- ----------
1 a
2 b
3 c
4 d
5 e
--查询指定分区的数据
SQL> select * from test_partitioning partition(t_p3);
T_ID T_NAME
---------- ----------
4 d
5 e
--插入一条不在分区范围内的数据
SQL> insert into test_partitioning values(7,'t');
insert into test_partitioning values(7,'t')
ORA-14400: 插入的分区关键字未映射到任何分区
--创建没有满足条件默认接收的分区表
SQL> create table test_partitioning2(
2 t_id number,
3 t_name varchar2(10)
4 )
5 partition by range(t_id)
6 (
7 partition t_p1 values less than(2),
8 partition t_p2 values less than(4),
9 partition t_p3 values less than(6),
10 partition t_p4 values less than(MAXVALUE) --存放没有满足以上三分区条件数据
11 );
Table created
SQL> insert into test_partitioning2 values(1,'a');
1 row inserted
SQL> insert into test_partitioning2 values(2,'b');
1 row inserted
SQL> insert into test_partitioning2 values(3,'c');
1 row inserted
SQL> insert into test_partitioning2 values(4,'d');
1 row inserted
SQL> insert into test_partitioning2 values(5,'e');
1 row inserted
SQL> insert into test_partitioning2 values(7,'e'); --没有满足条件的一律保存到t_p4分区
1 row inserted
SQL> insert into test_partitioning2 values(8,'e'); --没有满足条件的一律保存到t_p4分区
1 row inserted
--查询所有分区数据
SQL> select * from test_partitioning2;
T_ID T_NAME
---------- ----------
1 a
2 b
3 c
4 d
5 e
7 e
8 e
7 rows selected
--查询指定分区的数据
SQL> select * from test_partitioning2 partition(t_p1);
T_ID T_NAME
---------- ----------
1 a
--查询没有满足以上三分区条件数据都放入t_p4分区
SQL> select * from test_partitioning2 partition(t_p4);
T_ID T_NAME
---------- ----------
7 e
8 e
--oracle分区就是为了减轻大数据表存数数据量,从而减轻表数据过多负担,分区而治提高查询效率。
内容总结
以上是互联网集市为您收集整理的ORACLE分区表全部内容,希望文章能够帮你解决ORACLE分区表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。