oracle分区设计,Oracle 分区
所谓分区是指把一张表和索引划分为若干小块, 在创建表的结构时应该考虑好分区方案, 选择表中某一列或多列数据作为关键字,
该关键字决定哪些数据分到哪些区, Oracle对分区进行管理, 插入数据自动存储到相应的分区.
可以分区的数据类型: number , date , varchar2 , char
1. Oracle的表分区种类:
1. 范围分区
1. 对表进行单列范围分区
例子:
CREATE TABLE emp
(
id NUMBER(10),
name VARCHAR2(10),
salary NUMBER(10)
)
PARTITION BY RANGE(salary)
(
PARTITION p1 VALUES LESS THAN(4000) TABLESPACE myspace,
PARTITION p2 VALUES LESS THAN(9000) TABLESPACE myspace2
);
查看表的分区信息
SELECT table_name,partition_name,tablespace_name FROM user_tab_partitions;
插入数据
INSERT INTO emp VALUES(1,'马雪',3500);
INSERT INTO emp VALUES(2,'李涛',2000);
INSERT INTO emp VALUES(3,'李白',4000);
INSERT INTO emp VALUES(4,'王浩',5000);
按分区查询
SELECT * FROM emp PARTITION(p1);
SELECT * FROM emp PARTITION(p2);
单独对 分区执行 truncate 操作
ALTER TABLE emp TRUNCATE PARTITION p2;
2. Hash 分区
Hash 分区是根据hash 算法来计算具体某条记录应该插入到哪个分区中,
例子:
DROP TABLE emp;
CREATE TABLE emp
(
id NUMBER(10),
name VARCHAR2(10),
salary NUMBER(10)
)
PARTITION BY HASH(id)
PARTITIONS 2
STORE IN (myspace,myspace2);
插入数据
INSERT INTO emp VALUES(1,'马雪',3500);
INSERT INTO emp VALUES(2,'李涛',2000);
INSERT INTO emp VALUES(3,'李白',4000);
INSERT INTO emp VALUES(4,'王浩',5000);
查看表的分区信息
SELECT table_name,partition_name,tablespace_name FROM user_tab_partitions;
按分区查询 sys_p1 , sys_p2 是系统自动产生的分区名称
SELECT * FROM emp PARTITION(sys_p1);
SELECT * FROM emp PARTITION(sys_p2);
3. 复合分区
将前面两种分区综合的方法
例子:
DROP TABLE emp;
CREATE TABLE emp
(
id NUMBER(10),
name VARCHAR2(10),
salary NUMBER(10)
)
PARTITION BY RANGE(salary)
SUBPARTITION BY HASH(id)
SUBPARTITIONS 2
(
PARTITION p1 VALUES LESS THAN(4000) TABLESPACE myspace,
PARTITION p2 VALUES LESS THAN(9000) TABLESPACE myspace2
);
插入数据
INSERT INTO emp VALUES(1,'马雪',3500);
INSERT INTO emp VALUES(2,'李涛',2000);
INSERT INTO emp VALUES(3,'李白',4000);
INSERT INTO emp VALUES(4,'王浩',5000);
查看表的分区信息
SELECT table_name,partition_name,tablespace_name FROM user_tab_partitions;
按分区查询
SELECT * FROM emp PARTITION(p1);
SELECT * FROM emp PARTITION(p2);
4. 列表分区
例子:
DROP TABLE emp;
CREATE TABLE emp
(
id NUMBER(10),
name VARCHAR2(10),
salary NUMBER(10),
location VARCHAR2(10)
)
PARTITION BY LIST(location)
(
PARTITION p1 VALUES('北京') TABLESPACE myspace,
PARTITION p2 VALUES('上海', '广东') TABLESPACE myspace2
);
查看表的分区信息
SELECT table_name,partition_name,tablespace_name FROM user_tab_partitions;
插入数据
INSERT INTO emp VALUES(1,'马雪',3500,'北京');
INSERT INTO emp VALUES(2,'李涛',2000,'上海');
INSERT INTO emp VALUES(3,'李白',4000,'上海');
INSERT INTO emp VALUES(4,'王浩',5000, '广东');
按分区查询
SELECT * FROM emp PARTITION(p1);
SELECT * FROM emp PARTITION(p2);
2.分区和可用性、性能的关系
1. 由于数据分区, 硬件故障只影响局部数据.
2. 提高数据查询速度, 可只对特定分区查询. 提供了对大型数据库的数据分散管理能力.
3.本地分区索引、全局分区索引、全局索引
oracle分区设计,Oracle 分区相关推荐
- MySQL调优(六):分区设计,分区优化案例
上节课没讲完的一个案例 优化 limit 分页 在很多应用场景中我们需要将数据进行分页,一般会使用limit加上偏移量的方法实现,同时加上合适的orderby 的子句,如果这种方式有索引的帮助,效率通 ...
- oracle表分区设计_ORACLE 分区表的设计
ORACLE 分区表的设计 时间:2019-01-29 22:07作者:网友投稿 分区表的概念 分区致力于解决支持极大表和索引的关键问题.它采用他们分解成较小和易于管理的称为分区的片(piece)的方 ...
- oracle表分区设计_Oracle数据库分区技术
1.Oracle的分区技术基本原理: Oracle的分区技术的基本思路就是:分而治之. 2.分区概述 l 大数据对象(表.索引)被分成小的物理段 l 当分区表建立时,记录基于分区字段值被存储到相应分区 ...
- Oracle表分区和索引分区汇总
Oracle表分区和索引分区汇总 为了简化数据库大表的管理,例如在数据仓库中一般都是TB级的数量级.ORACLE8以后推出了分区选项.分区将表分离在若于不同的表空间上,用分而治之的方法来支撑元限膨胀的 ...
- oracle分区list,Oracle 分区表中存在range-list表分区时遇到问题及解决办法
Oracle 分区表中存在range-list表分区时遇到问题及解决办法 我们遇到的通常是list分区这种居多,我就不介绍了. 以下解决的是 复合分区情况 表已存在,需要在范围分区中增加一个分区 我们 ...
- Oracle海量数据优化-02分区在海量数据库中的应用-更新中
思维导图 概述 以前梳理了一篇文章, 案例不是很充分 Oracle-分区表解读 故本篇博文系统的再重新阐述一下 当我们对海量数据的Oracle数据库进行管理和维护时,几乎无一例外的使用了分区(part ...
- oracle删除建分区索引,Oracle分区表之创建维护分区表索引的详细步骤
分区索引分为本地(local index)索引和全局索引(global index).局部索引比全局索引容易管理, 而全局索引比较快.与索引有关的表:dba_part_indexes 分区索引的概要统 ...
- oracle for函数,oracle分区表述的FOR语句(一)
指定一个分区除了使用分区名称外,很多时候还可以使用FOR语句. 从11g开始,对分区进行操作的时候,不仅可以使用分区名称,还可以使用FOR语句. 在10g中,MERGE RANGE分区的语句如下: S ...
- oracle 增加间隔分区,oracle分区表之间隔分区(oracle 11g) - 漫兮网
范围分区允许用户根据分区键列值的范围创建分区.下面是一个按范围分区表的示例: create table sales6 ( sales_id number, sales_dt date ) partit ...
最新文章
- 本地应用 v-model
- web服务器的文档根目录,web服务器根目录中
- Unity shader学习之屏幕后期处理效果之高斯模糊
- 删库不跑路,详解MySQL数据恢复
- 计算机应用基础(高起专)答案,东北师范大学14秋《计算机应用基础(高起专)》14秋在线作业1答案...
- ie系列浏览器_IE浏览器换Logo,真担心你上网找不到图标
- 手工查杀myplayer病毒
- 表迁移工具的选型-复制ibd的方法
- 问题六十八: 着色模型(shading model)(0)——《Ray Tracing from the Ground Up》代码的移植
- Java中String.format()的简单用法介绍
- 耗时一周,我用Python爬取全国各地大学校花(高清照片和个人信息)
- 音频(一)时域图、 频谱图 Spectrum
- 计算机参数配置解读,教你看懂电脑配置参数,了解组装电脑基本知识
- Unity3D Android接入FCM推送
- MFC下ODBC方式连接数据库
- 计算机犯罪保护现场,计算机犯罪现场.ppt
- torch.nn.Linear详解
- 利用matlab将.mat格式文件转换成wav文件
- Java项目:洗浴中心管理系统(java+SSM+JSP+jQuery+javascript+Mysql)
- 安防领域对视频图像处理技术的特殊要求
热门文章
- 自助共享咖啡机市场现状研究分析
- 调试血泪经验之uart/ttl/rs232电平转换问题
- Vue3 路由跳转如何刷新当前页重新请求数据
- 修改注册表解决Skype for Business(Lync) 不能登录的问题
- C#毕业设计——基于C#+asp.net+sqlserver的图书销售管理系统设计与实现(毕业论文+程序源码)——图书销售管理系统
- rhino软件上Grasshopper 中的快捷键(用gh的同学不妨了解一下)
- IRDye 800CW 红外染料IRDye 800CW NHS Ester/Maleimide/Carboxylate/Carboxylic acid
- java如何写电梯代码_JAVA编写的一个简易的电梯模型,完成电梯如何满足乘客上下楼需求(ElevatorTest)...
- Camtasia Studio2023中文版下载安装图文教程
- 计算机数据库课程设计,药品销售管理系统