分区(partitioning)概述

本文介绍了Oracle数据库的分区技术,包括分区的好处和不同类型的分区方式。通过实验演示了分区如何提高可用性和减少管理负担,例如在分区表上进行操作比在大表上更高效。此外,文章还展示了分区如何提升SQL查询性能。
摘要由CSDN通过智能技术生成
--分区概述

/* 
分区使用了一种分而治之的方法,使用管理非常大的表和索引。
分区引用了一种分区键(partition key)的概念,数据会根据其他分区键值分到对应的分区。
划分分区的方法可以是基于键值的某个范围、或者是某个键值的一个列表,也可是分区键值的某个散列函数值。
 */
 
/* 分区优点 */
1.提高可用性
可用性的提高来源于每个分区的独立性。
如果表是分区的,那么查询优化器会意识到这点,并且在执行计划中去除不需要的分区。
比如说一个大对象中的一个分区不可用,而你的查询又需要这个分区,那么Oracle还是能成功处理这个查询。

--实验演示
EODA@PROD1> set echo on
EODA@PROD1> alter system set db_create_file_dest='/u01/app/oracle/oradata/PROD1/';

System altered.

EODA@PROD1> create tablespace p1 datafile size 1m autoextend on next 1m;

Tablespace created.

EODA@PROD1> create tablespace p2 datafile size 1m autoextend on next 1m;

Tablespace created.

EODA@PROD1> CREATE TABLE emp(empno int, ename varchar2(20)) partition by hash(empno) (partition part_1 tablespace p1, partition part_2 tablespace p2);

Table created.        --创建一个散列分区表

EODA@PROD1> insert into emp select empno, ename from scott.emp;  --插入数据

14 rows created.

EODA@PROD1> select * from emp partition(part_1);  --数据在分区内随机摆放

     EMPNO ENAME
---------- --------------------
      7369 SMITH
      7499 ALLEN
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7839 KING
      7876 ADAMS
      7934 MILLER

8 rows selected.

EODA@PROD1> sel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值