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 ...
随机推荐
- 填充Z形二维数组
形如 1 3 4 10 2 5 9 11 6 8 12 15 7 13 14 16 的数组称谓Z形二维数组.填充这样的数组其实只要按照Z形进行行走填充即可,设置一个flag指示方向,行 ...
- 左右 android AES 所述机器的一部分 javax.crypto.BadPaddingException: pad block corrupted
好多人 android 使用上述 AES 显现 javax.crypto.BadPaddingException: pad block corrupted 下面的代码发布没问题,比较自己.不解释! p ...
- javaScript 工作必知(七) 对象继承
对象继承inherit var o = { r: 1 }; var c = function f() { }; c.prototype = o; c.r = 3; alert(o.r);//被继承的属 ...
- image元素的src属性值与getAttribute('src')值
采集的时候,当采集到一些不可用的照片就将其剔除掉 我的解决思路是new一个img对象, 然后将采集过来的图片赋值给这个img, 然后分别处理img的onerror和 onload, 当在onerror ...
- HTML5增加的几个新的标签
HTML5又2008年诞生,HTML5大致可以等同于=html+css3+javascriptapi.... so --->支持css3强大的选择器和动画以及javascript的新的函数 先来 ...
- 2014-11-21 DHTMLX是什么
什么是dhtmlx? dhtmlx是一套网页开发 的函式库,他提供了树状元件.数据方格组件.工具列等组件供开发 人员使用. dhtmlx组件是一个JavaScript 库,提供了一套完整的Ajax驱动 ...
- 蓝桥杯试题集【Java】
一.Fibonacci数列 问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. ...
- android SDK和ADT的更新
ADT版本较低时,造成xml布局文件无法预览,更新时发现google被墙,找网上的招数暂且解决了问题. 1. SDK的更新: 将https://修改为http:// 修改方法是:在Android SD ...
- GWT工程 —— HostedMode(宿主模式下调试) 所有的运行命令
Unknown argument: -helpGoogle Web Toolkit 1.7.0HostedMode [-noserver] [-port port-number | "aut ...
- C# XML与Json之间相互转换
XML转换为Json字符串 在代码中预定义的一个xml字符串,如下: string xml = @"<?xml version=""1.0"" ...