Oracle分区知识
查询分区名称、表空间的SQL
USER_SEGMENTS
SELECT SEGMENT_NAME,PARTITION_NAME,TABLESPACE_NAME FROM USER_SEGMENTS;
1、范围分区(range)
范围分区指的是通过某一字段的范围进行分区,比如说以日期范围进行分区为2013、2014、2015年表,或者以id的数字大小进行分区
用法:
--创建一个以id分区的分区表test_calc
Create table test_calc
(
id number(6),
create_time date dafault sysdate
)partition by range(id)(
partition part_1 values less than (0) tablespace space_1,
partition part_2 values less than (maxvalue) tablespace space_2
);
--插入数据
Insert into test_calc(id) values(-1); --插入part_1
Insert into test_calc(id) values(10); --插入part_2 查看整个分区表时还会和查看普通表一样,只不过会查看part_1和part_2两个分区的内容
Select * from test_calc;
单独查看part_1分区
Select * from test_calc partition(part_1); --只有1对应的数据,没有10那一行
2、散列分区(hash)
散列分区指的是通过对某一字段进行散列分布(hash)进行分区,比如对id字段的数字求模,两个分区就是以2为模进行分布
用法:
--创建一个以id分区的分区表test_calc
Create table test_calc
(
id number(6),
create_time date dafault sysdate
)partition by hash(id)(
partition part_1 tablespace space_1 ,
partition part_2 tablespace space_2
);
--另一种形式:自动生成分区部门partition_name的名字
Create table test_calc
(
id number(6),
create_time date dafault sysdate
)partition by hash(id)
partitions 2
store in(space_1,space_2) ; --插入数据
Insert into test_calc(id) values(1);
Insert into test_calc(id) values(2);
Insert into test_calc(id) values(3);
Insert into test_calc(id) values(4);
插入数据之后就会自动调用hash处理方法去处理,最后呈现的结果一定是两个分区各自一半一半 ***散列分区的好处就是每个分区的数据量大致相同***
3、列表分区(list)
如果说分区字段并不是有一定范围或者数值就是某几个特定的值的情况的话,比如id就是1,2,3,4三个值,那么列表分区就是不二的选择
用法:
--创建一个以id分区的分区表test_calc
Create table test_calc
(
id number(6),
create_time date dafault sysdate
)partition by list(id)(
partition part_1 values(1,3) tablespace space_1 ,
partition part_2 values(2,4) tablespace space_2
); --插入数据
Insert into test_calc(id) values(1); --插入part_1
Insert into test_calc(id) values(2); --插入part_2
Insert into test_calc(id) values(3); --插入part_1 Insert into test_calc(id) values(4); --插入part_2
4、组合范围散列分区(range-hash)
先进行范围分区(range)形成几个父分区,再在这几个父分区上进行散列分区(hash)形成几个小的子分区的形式
用法:
--创建一个以id分区的分区表test_calc
Create table test_calc
(
id number(6),
create_time date dafault sysdate
)partition by range(id)
subpartition by hash(id)
(
partition p_1 values less than (0)(
subpartition p_1_1 tablespace space_1,
subpartition p_1_2 tablespace space_2
) ,
partition p_2 values less than (maxvalue)(
subpartition p_2_1 tablespace space_1,
subpartition p_2_2 tablespace space_2
) , );
--相当于分割为两个大的分区,又在两个大的分区上面分别分割了两个小的分区,一共四个分区 分别是:p_1_1、p_1_2、p_2_1、p_2_2
5、组合范围列表分区(range-hash)
先进行范围分区(range)形成几个父分区,再在这几个父分区上进行列表分区(list)形成几个小的子分区的形式
用法:
--创建一个以id分区的分区表test_calc
Create table test_calc
(
id number(6),
create_time date dafault sysdate
)partition by range(id)
subpartition by list(id)
(
partition p_1 values less than (0)(
subpartition p_1_1 values(-1,-2) tablespace space_1,
subpartition p_1_2 values(1,2) tablespace space_2
) ,
partition p_2 values less than (maxvalue)(
subpartition p_2_1 values(-1,-2) tablespace space_1,
subpartition p_2_2 values(1,2) tablespace space_2
) , );
--相当于分割为两个大的分区,又在两个大的分区上面分别分割了两个小的分区,一共四个分区 分别是:p_1_1、p_1_2、p_2_1、p_2_2
Oracle分区知识的更多相关文章
- Oracle体系结构之Oracle分区
目录 Oracle分区 0 一.Oracle分区理论知识 1 二.分区表的实现方式 1 1.范围分区(range partition table) 1 2.列表分区(list partitioning ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- ORACLE 分区
在建设数据仓库过程中,经常会有大量数据,短时间内表中数据量有限,查询性能还可以,但随着时间的延长,表中数据量迅速增加,查询速度就会变慢,性能下降,这时就要考虑对表进行分区. 一.oracle的分区 当 ...
- oracle 分区和分区索引
一.个人理解:建表时一般都会指定在一个表空间上,但是可能随着表空间扩大,查询越来越慢,分区表就是将一个表实际存在不同的表空间,oracle存储分为块,断,表空间.新建一个表,会给表分配指定大小的段,段 ...
- 图说Oracle基础知识(一)
本文主要对Oralce数据库操作的基础知识进行一下梳理,以便进行归纳总结.适用于未使用过Oracle数据库的读者,或需要学习Oracle数据库方面的基础知识.如有不足之处,还请指正. 关于SQL介绍的 ...
- Oracle连接知识
Oracle基本连接知识 登录sys用户或 sysdba用户权限的账号 Sqlplus 建用户 Create user test identified by 12345678 ...
- Oracle 基础知识入门
前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...
- 01 Oracle分区索引
Oracle分区索引 索引与表类似,也可以分区: 分区索引分为两类: Locally partitioned index(局部分区索引) Globally partitioned index(全局 ...
- Oracle常用知识小总结
永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! Oracle常用知识小总结 1. 创建自增主键 对于习惯了SQL SERVER的图形化界面操作的SQLer,很长一段时间不用oracle ...
随机推荐
- 关于jquery的each的操作;
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- mysql长连接和短连接的问题
什么是长连接? 其实长连接是相对于通常的短连接而说的,也就是长时间保持客户端与服务端的连接状态. 通常的短连接操作步骤是: 连接->数据传输->关闭连接: 而长连接通常就是: 连接-> ...
- WPF 采用Border创建圆角
通过设置可以创建圆角border的CornerRadius属性其边框呈现圆角样式 代码: <Border Height="50" Background="Red&q ...
- 快照(Snapshot)
一.定义: SNIA(存储网络行业协会)对快照(Snapshot)的定义是:关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个 ...
- MyEclipse 2013 导入MyEclipse 9.0的EJB项目时,需要注意
点击“next”按钮,出现下面的对话框: 再点击“next”按钮,出现下面的对话框:
- wcf综合运用之:大文件异步断点续传
在WCF下作大文件的上传,首先想到使用的就是Stream,这也是微软推荐的使用方式.处理流程是:首先把文件加载到内存中,加载完毕后传递数据.这种处理方式对小文件,值得推荐,比如几K,几十k的图片文件, ...
- C - 字符识别?
C - 字符识别? Time Limit:1000MS Memory Limit:131072KB 64bit IO Format:%lld & %llu Submit Sta ...
- BZOJ 2324: [ZJOI2011]营救皮卡丘( floyd + 费用流 )
昨晚写的题...补发一下题解... 把1~N每个点拆成xi, yi 2个. 预处理i->j经过编号不超过max(i,j)的最短路(floyd) S->0(K, 0), S->xi(1 ...
- MyEclipse中设置智能提示
在实际的开发当中,编译器没有智能提示,确实是效率很低,下面我就给大家讲一下在MyEclipse中设置智能提示,方便大家的开发,希望能帮到大家. 方法一:首先,在MyEclipse的菜单栏中找到wind ...
- JavaScript版排序算法
JavaScript版排序算法:冒泡排序.快速排序.插入排序.希尔排序(小数据时,希尔排序会比快排快哦) //排序算法 window.onload = function(){ var array = ...