数据库表分区的作用_oracle数据库分区

数据库表分区的作用_oracle数据库分区分区表分区表用途分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。分区表的优点:(1)由于将数据分散到各个分区中,减少了数据损坏的可能性;(2)可…

大家好,又见面了,我是你们的朋友全栈君。

分区表

分区表用途

分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。

分区表的优点:

(1)由于将数据分散到各个分区中,减少了数据损坏的可能性;

(2)可以对单独的分区进行备份和恢复;

(3)可以将分区映射到不同的物理磁盘上,来分散IO;

(4)提高可管理性、可用性和性能。

数据量大的表,一般大于2GB;数据有明显的界限划分;对于Long和Long Raw类型列不能使用分区

分区表类型

一般包括范围分区,散列分区,列表分区、复合分区(范围-散列分区,范围-列表分区)、间隔分区和系统分区等。

​​​​​​​范围分区

范围分区根据数据库表中某一字段的值的范围来划分分区。

【语法】

在Create Table语句后增加

PARTITION BY RANGE(column_name)

(

PARTITION part1 VALUES LESS THAN (range1) [TABLESPACE tbs1],

PARTITION part2 VALUES LESS THAN (range2) [TABLESPACE tbs2],

           ….

PARTITION partN VALUES LESS THAN (MAXVALUE) [TABLESPACE tbsN]

);

 

【说明】

MAXVALUE:当分区列值都不在设置的范围内时,新增数据将到这个分区中

 

【示例】

创建表,并设置分区

create table myemp

( empno number(4) primary key,

  ename varchar2(10),

  hiredate date,

  sal   number(7,2),

  deptno number(2)

)

partition by range(sal)

(

  partition p1 values less than(1000),

  partition p2 values less than(2000),

  partition p3 values less than(maxvalue)

);

 

插入数据

insert into myemp(empno,ename,hiredate,sal,deptno) 

select empno,ename,hiredate,sal,deptno from emp;

 

查看工资1000-2000的数据

select * from myemp partition(p2);

 

删除工资小于1000的数据

delete from myemp partition(p1);

 

查看数据

select * from myemp;

 

 

​​​​​​​列表分区

列表分区明确指定了根据某字段的某个具体值进行分区,而不是像范围分区那样根据字段的值范围来划分的。

【语法】

在Create Table语句后增加

PARTITION BY LIST(column_name)

(

PARTITION part1 VALUES (values_list1),

PARTITION part2 VALUES (values_list2),

           ….

PARTITION partN VALUES (DEFAULT)

);

其中:column_name是以其为基础创建列表分区的列。

      part1…partN是分区的名称。

      values_list是对应分区的分区键值的列表。

      DEFAULT关键字允许存储前面的分区不能存储的记录。

 

 

【示例】

创建表,并设置分区

create table myemp2

( empno number(4) primary key,

  ename varchar2(10),

  hiredate date,

  sal   number(7,2),

  deptno number(2)

)

partition by list(deptno)

(

  partition dept10 values(10),

  partition dept20 values(20),

  partition dept30 values(30),

  partition deptx  values(default)

);

 

插入数据

insert into myemp2(empno,ename,hiredate,sal,deptno) 

select empno,ename,hiredate,sal,deptno from emp;

 

查看部门20的数据

select * from myemp2 partition(dept20);

 

删除部门30的数据

delete from myemp2 partition(dept30);

 

查看数据

select * from myemp2;

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135045.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月3日 上午11:40
下一篇 2022年5月3日 上午11:40


相关推荐

  • DDR3基础详解

    DDR3基础详解DDR3 基础详解最近在 IMX6 平台下做 DDR3 的测试接口开发 以前在学习嵌入式时 用的是官方源码 没有做过多的研究 此时需要仔细研究 DDR3 的引脚与时序 此篇是我在学习 DDR3 做的归纳与总结 其中有大部分内容是借鉴他人的博客 大部分博客的链接我已经贴出来了 如果存在版权或知识错误请直接联系我 PS 本着知识共享的原则 此篇博客可以随意转载 不过请标明出处 虽然大部分内容不是我写的 但是整理也挺累的 一 专有名词索引表名称缩写名称含义名称描述 RAS 行地址选通脉冲 Ro

    2026年3月19日
    2
  • webpack图片压缩_webpack的cdn

    webpack图片压缩_webpack的cdn图片处理url-loader(webpack5之前的处理方式)在项目开发中,我们时长会需要使用到图片,比如在img文件夹中有图片test1.png,然后在normal.css中会引用到图片body

    2022年7月30日
    8
  • 【Unity-AI开发篇】| Unity-MCP最新指南

    【Unity-AI开发篇】| Unity-MCP最新指南

    2026年3月16日
    2
  • spring事务的传播机制

    spring事务的传播机制什么是事务 数据库事务是指一系列严密操作 要么全部成功 要么全部失败 它有四种特性 原子性 一致性 隔离性和持久性 而 spring 事务是封装在数据库事务之上的一种事务处理机制 它有两种管理方式 编程式事务和声明式事务 在平时使用中 我们大多使用 Transactiona 声明式事务来管理 这也是 spring 推荐的方式 下面例子也统一采用此种方式 下面我们主要来看看 spring 事务的传播机制 spring 事务的传播机制 spring 事务的传播机制有七种 REQUIRED REQUIRES NEW NES

    2025年6月5日
    9
  • python爬虫实战项目,做完直接进阶

    python爬虫实战项目,做完直接进阶

    2021年11月11日
    54
  • 数仓分层设计

    数仓分层设计数仓分层设计

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号