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 ...
随机推荐
- delphi “Invalid floating point operation.”错误的解决方法
这两天用webbrower写东西,有时候打开SSL加密站点时会出现”Invalid floating point operation.”的错误,上网搜了下,把解决方法贴上. 导致原因 在Delphi2 ...
- Win32下C++遍历目录和文件的源码
#include<windows.h> #include<iostream> #include<string> using namespace std; //只能处 ...
- UITextField 光标的位置设置获取
UITextField 光标的位置设置获取 通过给UITextField 加一个拓展 //#import "UITextField+ExtentRange.h" #import & ...
- C# XML与Json之间相互转换
XML转换为Json字符串 在代码中预定义的一个xml字符串,如下: string xml = @"<?xml version=""1.0"" ...
- BZOJ 3533: [Sdoi2014]向量集( 线段树 + 三分 )
答案一定是在凸壳上的(y>0上凸壳, y<0下凸壳). 线段树维护, 至多N次询问, 每次询问影响O(logN)数量级的线段树结点, 每个结点O(logN)暴力建凸壳, 然后O(logN) ...
- 算法——A*——HDOJ:1813
Escape from Tetris Time Limit: 12000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- MVC定义路由
标准路由配置 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Defa ...
- 搭建单节点Hadoop应用环境
虚拟机: VirtualBox 5 Server操作系统: Ubuntu Server 14.04.3 LTS 如果对虚拟机空间和性能不做考虑, 且不习惯用Linux命令, 你也可以使用Ubuntu ...
- nodejs安装指定版本
由于express有各种不同的版本,不同的版本开发方式有所不同,如果想安装指定版本可以选择全局安装指定版本: 安装步骤如下: (1) 安装2.5.8版本的express的方法: C:\Users\Li ...
- 1)③爬取网易It方面部分新闻
__author__ = 'minmin' #coding:utf-8 import re,urllib,sgmllib,os #根据当前的url获取html def getHtml(url): pa ...