oracle-分区(笔记)
partition by 用于指定分区方式
range 表示分区的方式是范围划分
partition pn 用于指定分区的名字
values less than 指定分区的上界(上限)
---------------------------范围分区--------------------------------
--查看表分区信息
select * from all_part_tables;
--查看表分区详细信息
select * from user_tab_partitions;
--创建范围分区表 先一个分区 后修改添加
create table userinfo
(
uname varchar2(20),
age number(2)
)
partition by range(age)--按年龄范围分区
(
partition p1 values less than (18)
)
--修改表,添加2个分区
alter table userinfo add partition p2 values less than(30);
alter table userinfo add partition p3 values less than(50);
alter table userinfo add partition p4 values less than(maxvalue);--其他更大的值
--修改分区,删除一个分区 分区中的数据随之删除
ALTER TABLE userinfo DROP PARTITION P3;
--截断分区 – 删除指定分区中的所有记录
ALTER TABLE userinfo TRUNCATE PARTITION P3;
--合并分区 - 将范围分区或复合分区的两个相邻分区连接起来
ALTER TABLE userinfo
MERGE PARTITIONS p1, p2 INTO PARTITION S2;
--将一个大分区中的记录拆分到两个分区中 s2原来范围(0-30)分为(0-18和18-30)
ALTER TABLE userinfo SPLIT PARTITION s2 AT (18)
INTO (PARTITION P21, PARTITION P22);
--重命名表分区
ALTER TABLE userinfo RENAME PARTITION P21 TO P2;
--添加测试数据
insert into userinfo values('张飞',16);
insert into userinfo values('曹操',20);
insert into userinfo values('诸葛亮',35);
insert into userinfo values('赵云',26);
commit;
--按分区查询
select * from userinfo PARTITION(p3);
--------------------------列表分区---------------------------
CREATE TABLE Student
(
SID number (4),
SName varchar2 (14),
SAddress varchar2 (15)
)
PARTITION BY LIST (SAddress)
(
Partition shanxi values ('西安市','咸阳市'),
Partition henan values ('焦作', '郑州')
);
--修改表 添加一个默认分区,即不在指定列表中的都放入此分区
alter table student add partition other values(default);
-------添加测试数据
insert into student values(1,'小明','西安市');
insert into student values(2,'小强','焦作');
insert into student values(3,'小树','郑州');
insert into student values(4,'近平','北京市');--如果没有默认分区,则没有符合分区的不能插入成功
insert into student values(5,'老王','咸阳市');
select * from student partition(henan);--注意分区参数不加单引号
select * from student partition(other);--
-----------散列分区----通过在分区键上执行HASH函数决定存储的分区--将数据平均地分布到不同的分区---------
--第一种
CREATE TABLE HASH_TABLE
(
COL NUMBER(8),
INF VARCHAR2(100)
)
PARTITION BY HASH (COL)
(
PARTITION PART01 ,
PARTITION PART02 ,
PARTITION PART03
)
--简写第二种:
CREATE TABLE myemp
(
empno NUMBER (4), --tablespace nn
ename VARCHAR2 (30),
sal NUMBER
)
PARTITION BY HASH (empno) PARTITIONS 8
--STORE IN (users); --表空间
select * from hash_table partition(part01);
select * from myemp partition(SYS_P50)
--------复合分区------范围分区与散列分区或列表分区的组合-----------------------
drop table sales;
CREATE TABLE SALES
(
PRODUCT_ID VARCHAR2 (5),
SALES_DATE DATE NOT NULL,
SALES_COST NUMBER (10)
)
PARTITION BY RANGE (SALES_DATE)
SUBPARTITION BY HASH (PRODUCT_ID)--子分区,在范围分区的基础上进行5个散列分区
SUBPARTITIONS 5
(
PARTITION S1 VALUES LESS THAN (TO_DATE('01/4月/2001',
'DD/MON/YYYY')),
PARTITION S2 VALUES LESS THAN (TO_DATE('01/7月/2001',
'DD/MON/YYYY')),
PARTITION S3 VALUES LESS THAN (TO_DATE('01/9月/2001',
'DD/MON/YYYY')),
PARTITION S4 VALUES LESS THAN (MAXVALUE)
);
------补充:在范围基础上,进行列表分区
CREATE TABLE SALES
(
PRODUCT_ID VARCHAR2(5),
SALES_DATE DATE,
SALES_COST NUMBER(10),
STATUS VARCHAR2(20)
)
PARTITION BY RANGE(SALES_DATE) SUBPARTITION BY LIST (STATUS)
(
PARTITION P1 VALUES LESS THAN(TO_DATE('2003-01-01','YYYY-MM-DD'))TABLESPACE rptfact2009
(
SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
),
PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE rptfact2009
(
SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE rptfact2009,
SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE rptfact2009
)
)
------------分区------0-18 18-30 30-50 50-100--------where age=37---1000000---A,B,C,D 。。。。。
1,wang 34; A:4,6,7 B 2,3 C 1,5
2,zhang 23;
3,li , 26
4,liddd , 16
5,www , 37
6,ttt , 18
7,QQQQ ,15
create table studentinfo
(
sid number,
sname varchar2(20),
sage number(2)
)
partition by range(sage)
(
partition p1 values less than(18),
partition p2 values less than(30),
partition p2 values less than(50),
partition p2 values less than(Maxvalue),
)
;
oracle-分区(笔记)的更多相关文章
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- ORACLE 分区
在建设数据仓库过程中,经常会有大量数据,短时间内表中数据量有限,查询性能还可以,但随着时间的延长,表中数据量迅速增加,查询速度就会变慢,性能下降,这时就要考虑对表进行分区. 一.oracle的分区 当 ...
- oracle 分区和分区索引
一.个人理解:建表时一般都会指定在一个表空间上,但是可能随着表空间扩大,查询越来越慢,分区表就是将一个表实际存在不同的表空间,oracle存储分为块,断,表空间.新建一个表,会给表分配指定大小的段,段 ...
- ORACLE存储过程笔记3
ORACLE存储过程笔记3 流程控制 1.条件 if expression thenpl/sql or sqlend if; if expression thenpl/sql or sqlel ...
- ORACLE存储过程笔记2
ORACLE存储过程笔记2 运算符和表达式 关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于 一般运算 +加-减*乘/除 ...
- ORACLE存储过程笔记1
ORACLE存储过程笔记1 一.基本语法(以及与informix的比较) create [or replace] procedure procedure_name (varible {IN|OUT ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle学习笔记——点滴汇总
Oracle学习笔记——点滴汇总 http://www.botangdb.com/ Oracle GI = Grid Infrastructure = ASM + Cluster
- Oracle学习笔记之四sp1,Oracle 11g的常用函数
从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i) 分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
随机推荐
- 分布式系统理论:一致性协议Paxos
Paxos算法是莱斯利·兰伯特(Leslie Lamport)于1990年提出的一种基于消息传递的一致性算法. Paxos 算法是一个解决分布式系统中,多个节点之间就某个值(注意是某一个值,不是一系列 ...
- STOMP协议规范【转】
STOMP协议规范英文原文:http://stomp.github.io/stomp-specification-1.2.html STOMP协议规范译文原文:http://simlegate.com ...
- 使用unity2017.3 vuforia7摄像头放大的问题
最近项目需要用到vuforia并且运行环境是Win10,所幸vuforia7刚好出来了,特此记录下开发中遇到的坑 1.从assets store下载示例,运行找不到vuforia命名空间 很多人说的解 ...
- VS2017编译项目出现提示al.exe运行失败的解决方法
VS2013中编译一切正常,用VS2017打开项目,某个类库出现al.exe运行失败的解决方法,事件查看器中这样描述 “C:\Program Files (x86)\Microsoft SDKs\Wi ...
- GoRails教程自建Rails 的 API; gem 'jbuilder'简单用法;使用JWT进行验证(git上的实做);curl命令使用;status状态码;JWT文档翻译摘录;
API: application programming interface 在Ruby中特指调用某个对象的信息,如hash的方法库library中的方法,参数,回传值等. 视频:如何用Rails 建 ...
- LA-4255 Guess (拓扑排序+构造)
题目大意:一个未知的整数序列,给出其任意一个区间和的正负,还原这个序列.任意一个满足条件的序列即可. 题目分析:将连续区间和转化为前缀和之差,sumx-1与sumy的大小关系已知,以此建立一条有向边, ...
- 最近玩了一下qt5.2.1,顺着写点东西,关于这个版本设置程序主窗口居中
#include <QtGui/QGuiApplication> #include <QDebug> #include <QScreen> #include &qu ...
- day31 堡垒机尾声 + Python与金融量化分析(一)
堡垒机尾声: 代码案例:https://github.com/liyongsan/git_class/tree/master/day31 课堂笔记:file send: 1.选择本地文件 2.远程路径 ...
- Ubuntu 无法获得锁
使用ubuntu安装pip 时,出现以下错误: E: 无法获得锁 /var/cache/apt/archives/lock – open (11 资源临时不可用) E: 无法锁定下载目录 解决方法: ...
- 1: 介绍Prism5.0 Introduction to the Prism Library 5.0 for WPF(英汉对照版)
Prism provides guidance designed to help you more easily design and build rich, flexible, and easy- ...