当前位置: 首页 > article >正文

oracle: 表分区>>范围分区,列表分区,散列分区/哈希分区,间隔分区,参考分区,组合分区,子分区/复合分区/组合分区

分区表

是将一个逻辑上的大表按照特定的规则划分为多个物理上的子表,这些子表称为分区。
分区可以基于不同的维度,如时间、数值范围、字符串值等,将数据分散存储在不同的分区
中,以提高数据管理的效率和查询性能,同时便于数据的维护和操作
作用

范围分区 range

它将表中的数据根据某个列的值的范围分布到不同的分区中。通常适用于具有连续数值或时间序列的数据

分区名自定义,可以用p1,p2,也可以用其他

分区字段必须在表中有定义, 每个分区的区间是前闭后开, 即最小值<=区间< 最大值

每个分区的最小值是上一个分区的最大值,相邻分区的区值是连续的

超出范围的数据无法被插入
解决方案: 设置一个默认分区, 超出其他分区数据范围的数据都会放入此分区, 但是此分区后面不能再增加分区

列表分区list

 列表分区是根据列的值列表来分割数据的。每个分区包含一个或多个离散的列值,适用于数据基数小, 重复量大的情况. 各分区的值不用区分大小

插入数据时数据不在任何分区中会报错, 可以设置一个默认分区,专门存放类似数据

.......

partition  分区名 values (default)

散列分区/哈希分区 hash

语法2:

建表语句

partition by hash (字段)  partitions n

未指定分区名,数据库会自动设置分区名, n是分区个数

可利用数据字典查看分区的相关信息: 比如多少个分区,分区名称

SELECT * FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME = UPPER('表名');

用于数据较少重复的, 以免数据倾斜

无需指定分区名, 数据库会自动设置分区名

虽然可以通过查询分区信息、查询特定分区的数据或通过实验验证来了解哈希分区的数据分布情况,但是无法直接通过分区键的值来确定数据会被分配到哪个分区, 所以工作中不常用

间隔分区

oarcle 11g 版本新增的分区类型,   间隔分区(Interval Partitioning)是范围分区(Range Partitioning)的一种特殊形式, 允许数据库自动创建分区以适应数据增长, 只需定义一个分区,系统会根据定义自动添加分区

注意: 间隔分区不能执行增加分区的操作

 

时间间隔函数

用于将数字转换为时间间隔类型

1. numtoyminterval  (n, 'year/month')

2.numtodsinterval (n, 'day/hour/minute/seconds')

通常用于日期计算或时间间隔操作

参考分区/引用分区

一个表的分区策略基于另一个表的分区键。这使得相关的表可以按照相同的逻辑进行分区,便于管理和维护, 这种分区方式特别适用于父子表关系,其中子表的分区与父表的分区保持一致

 子分区/复合分区

分区表可以进一步划分为子分区(Subpartitioning),从而形成复合分区(Composite Partitioning),有时也称为组合分区,混合分区

 

注意: 分区名称不能重复, 不在同一个分区里的子分区名也不能重复

 

分区管理

删除分区的写法2: delete from 表名 partition (分区名);

清空分区/截断分区(即删除分区中的所有数据)

默认是 保留存储空间。也就是说不写明时,Oracle 会保留分区占用的存储空间,以便后续可以重用这些空间来插入新数据

注意:

范围分区新增分区时,只能在最后一个分区后面添加

哈希分区/散列分区一般不添加分区

删除分区时, 如果只剩下一个分区, 不能删除唯一的分区(因为数据会重新分布,且不知道删除了哪些数据)

删除分区和截断分区都会把分区里面的数据删除, 不同的是截断分区的分区还在

合并分区

将多个分区合并为一个分区。合并分区通常用于优化存储或简化分区结构

注意: 确保合并操作不影响业务逻辑

索引维护: 合并分区后,全局索引可能会失效,需要使用 UPDATE INDEXES 子句来维护索引

语法

ALTER TABLE sales
MERGE PARTITIONS p1, p2
INTO PARTITION p_merged
[UPDATE INDEXES];

 

合并操作会停止间隔分区的自动创建功能,直到新的分区范围被定义。

对于参考分区/引用分区,如果父表的分区合并,子表的分区也会自动相应合并

拆分分区

把1个分区拆成2个或以上

范围分区的拆分语法


 列表分区的拆分语法

ALTER TABLE table_name
SPLIT PARTITION partition_name
values (value)
INTO (PARTITION new_partition1,PARTITION new_partition2
);

第一个分区包含分区字段的值,即(value)

范围分区和列表分区拆分语法的区别

范围分区:  at (value)

列表分区: values(value) 

复合分区的拆分

相关文章:

oracle: 表分区>>范围分区,列表分区,散列分区/哈希分区,间隔分区,参考分区,组合分区,子分区/复合分区/组合分区

分区表 是将一个逻辑上的大表按照特定的规则划分为多个物理上的子表&#xff0c;这些子表称为分区。 分区可以基于不同的维度&#xff0c;如时间、数值范围、字符串值等&#xff0c;将数据分散存储在不同的分区 中&#xff0c;以提高数据管理的效率和查询性能&#xff0c;同时…...

基于SpringBoot 前端接收中文显示解决方案

一. 问题 返回给前端的的中文值会变成“???” 二. 解决方案 1. 在application.yml修改字符编码 &#xff08;无效&#xff09; 在网上看到说修改servlet字符集编码&#xff0c;尝试了不行 server:port: 8083servlet:encoding:charset: UTF-8enabled: trueforce: true2. …...

java练习(5)

ps:题目来自力扣 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这…...

python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法

回溯算法 「所有可能的结果」&#xff0c;而不是「结果的个数」&#xff0c;一般情况下&#xff0c;我们就知道需要暴力搜索所有的可行解了&#xff0c;可以用「回溯法」。 回溯算法关键在于:不合适就退回上一步。在回溯算法中&#xff0c;递归用于深入到所有可能的分支&…...

大数据数仓实战项目(离线数仓+实时数仓)1

目录 1.课程目标 2.电商行业与电商系统介绍 3.数仓项目整体技术架构介绍 4.数仓项目架构-kylin补充 5.数仓具体技术介绍与项目环境介绍 6.kettle的介绍与安装 7.kettle入门案例 8.kettle输入组件之JSON输入与表输入 9.kettle输入组件之生成记录组件 10.kettle输出组件…...

【开源免费】基于Vue和SpringBoot的公寓报修管理系统(附论文)

本文项目编号 T 186 &#xff0c;文末自助获取源码 \color{red}{T186&#xff0c;文末自助获取源码} T186&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

使用QMUI实现用户协议对话框

使用QMUI实现用户协议对话框 懒加载用于初始化 TermServiceDialogController 对象。 懒加载 lazy var 的作用 lazy var dialogController: TermServiceDialogController {let r TermServiceDialogController()r.primaryButton.addTarget(self, action: #selector(primaryC…...

女生年薪12万,算不算属于高收入人群

在繁华喧嚣的都市中&#xff0c;我们时常会听到关于收入、高薪与生活质量等话题的讨论。尤其是对于年轻女性而言&#xff0c;薪资水平不仅关乎个人价值的体现&#xff0c;更直接影响到生活质量与未来的规划。那么&#xff0c;女生年薪12万&#xff0c;是否可以被划入高收入人群…...

初识Cargo:Rust的强大构建工具与包管理器

初识Cargo&#xff1a;Rust的强大构建工具与包管理器 如果你刚刚开始学习Rust&#xff0c;一定会遇到一个名字&#xff1a;Cargo。Cargo是Rust的官方构建工具和包管理器&#xff0c;它让Rust项目的创建、编译、测试和依赖管理变得非常简单。本文将带你快速了解Cargo的基本用法…...

【Windows7和Windows10下从零搭建Qt+Leaflet开发环境】

Windows7和Windows10下从零搭建QtLeaflet开发环境 本文开始编写于2025年1月27日星期一&#xff08;农历&#xff1a;腊月二十八&#xff0c;苦逼的人&#xff0c;过年了还在忙工作&#xff09;。 第一章 概述 整个开发环境搭建需要的资源&#xff1a; 操作系统 Windows7_x6…...

关于MySQL InnoDB存储引擎的一些认识

文章目录 一、存储引擎1.MySQL中执行一条SQL语句的过程是怎样的&#xff1f;1.1 MySQL的存储引擎有哪些&#xff1f;1.2 MyIsam和InnoDB有什么区别&#xff1f; 2.MySQL表的结构是什么&#xff1f;2.1 行结构是什么样呢&#xff1f;2.1.1 NULL列表&#xff1f;2.1.2 char和varc…...

WSL2中安装的ubuntu开启与关闭探讨

1. PC开机后&#xff0c;查询wsl状态 在cmd或者powersell中输入 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 22. 从windows访问WSL2 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 23. 在ubuntu中打开一个工作区后…...

LeetCode435周赛T2贪心

题目描述 给你一个由字符 N、S、E 和 W 组成的字符串 s&#xff0c;其中 s[i] 表示在无限网格中的移动操作&#xff1a; N&#xff1a;向北移动 1 个单位。S&#xff1a;向南移动 1 个单位。E&#xff1a;向东移动 1 个单位。W&#xff1a;向西移动 1 个单位。 初始时&#…...

π0:仅有3B数据模型打通Franka等7种机器人形态适配,实现0样本的完全由模型自主控制方法

Chelsea Finn引领的Physical Intelligence公司&#xff0c;专注于打造先进的机器人大模型&#xff0c;近日迎来了一个令人振奋的里程碑。在短短不到一年的时间内&#xff0c;该公司成功推出了他们的首个演示版本。这一成就不仅展示了团队的卓越技术实力&#xff0c;也预示着机器…...

DeepSeek-R1 低成本训练的根本原因是?

在人工智能领域&#xff0c;大语言模型&#xff08;LLM&#xff09;正以前所未有的速度发展&#xff0c;驱动着自然语言处理、内容生成、智能客服等众多应用的革新。然而&#xff0c;高性能的背后往往是高昂的训练成本&#xff0c;动辄数百万美元的投入让许多企业和研究机构望而…...

pandas(二)读取数据

一、读取数据 示例代码 import pandaspeople pandas.read_excel(../002/People.xlsx) #读取People数据 print(people.shape) # 打印people表的行数、列数 print(people.head(3)) # 默认打印前5行,当前打印前3行 print("") print(people.tail(3)) # 默…...

北京门头沟区房屋轮廓shp的arcgis数据建筑物轮廓无偏移坐标测评

在IT行业中&#xff0c;地理信息系统&#xff08;GIS&#xff09;是用于处理、分析和展示地理空间数据的重要工具&#xff0c;而ArcGIS则是GIS领域中的一款知名软件。本文将详细解析标题和描述中提及的知识点&#xff0c;并结合“门头沟区建筑物数据”这一标签&#xff0c;深入…...

【自学笔记】Java的重点知识点-持续更新

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Java知识点概览一、Java简介二、Java基本语法三、面向对象编程&#xff08;OOP&#xff09;四、异常处理五、常用类库六、多线程编程七、网络编程 注意事项 总结 Ja…...

向上调整算法(详解)c++

算法流程&#xff1a; 与⽗结点的权值作⽐较&#xff0c;如果⽐它⼤&#xff0c;就与⽗亲交换&#xff1b; 交换完之后&#xff0c;重复 1 操作&#xff0c;直到⽐⽗亲⼩&#xff0c;或者换到根节点的位置 这里为什么插入85完后合法&#xff1f; 我们插入一个85&#xff0c;…...

LabVIEW无线齿轮监测系统

本案例介绍了基于LabVIEW的无线齿轮监测系统设计。该系统利用LabVIEW编程语言和改进的天牛须算法优化支持向量机&#xff0c;实现了无线齿轮故障监测。通过LabVIEW软件和相关硬件&#xff0c;可以实现对齿轮箱振动信号的采集、传输和故障识别&#xff0c;集远程采集、数据库存储…...

用deepseek解决python问题——在cmd终端运行python指令弹出应用商店,检查路径已经加入环境变量

首先上结论&#xff1a;可行性非常强 当然我没有广泛对比&#xff0c;至少豆包解决方案基本上就是网络上能搜到的一些方法&#xff0c;没有帮我解决&#xff0c;下面直接看一下对话吧 我&#xff1a;在cmd运行python指令弹出应用商店&#xff0c;检查路径已经加入环境变量 D…...

力扣第435场周赛讲解

文章目录 题目总览题目详解3442.奇偶频次间的最大差值I3443.K次修改后的最大曼哈顿距离3444. 使数组包含目标值倍数的最少增量3445.奇偶频次间的最大差值 题目总览 奇偶频次间的最大差值I K次修改后的最大曼哈顿距离 使数组包含目标值倍数的最少增量 奇偶频次间的最大差值II …...

内存四区

一、内存四区模型 1. 操作系统把物理硬盘代码load到内存 2. 操作系统把c代码分成四个区 3. 操作系统遭到main函数入口执行 二、内存四区 1. 栈区&#xff08;stack&#xff09; 由编译器自动分配释放&#xff0c;存放函数的参数值&#xff0c;局部变量的值。其操作方式类似…...

大模型综合性能考题汇总

- K1.5长思考版本 一、创意写作能力 题目1&#xff1a;老爸笑话 要求&#xff1a;写五个原创的老爸笑话。 考察点&#xff1a;考察模型的幽默感和创意能力&#xff0c;以及对“原创”要求的理解和执行能力。 题目2&#xff1a;创意故事 要求&#xff1a;写一篇关于亚伯拉罕…...

Python - pyautogui库 模拟鼠标和键盘执行GUI任务

安装库&#xff1a; pip install pyautogui 导入库&#xff1a;import pyautogui 获取屏幕尺寸&#xff1a; s_width, s_height pyautogui.size() 获取鼠标当前位置&#xff1a; x, y pyautogui.position() 移动鼠标到指定位置&#xff08;可以先使用用上一个函数调试获取当…...

c++ list的front和pop_front的概念和使用案例—第2版

在 C 标准库中&#xff0c;std::list 的 front() 和 pop_front() 是与链表头部元素密切相关的两个成员函数。以下是它们的核心概念和具体使用案例&#xff1a; 1. front() 方法 概念&#xff1a; 功能&#xff1a;返回链表中第一个元素的引用&#xff08;直接访问头部元素&am…...

租赁管理系统在促进智能物业运营中的关键作用和优化策略分析

租赁管理系统在智能物业运营中的关键作用与优化策略 随着科技的飞速发展&#xff0c;租赁管理系统在智能物业运营中扮演着越来越重要的角色。这种系统不仅提高了物业管理的效率&#xff0c;更是促进了资源的优化配置和客户关系的加强。对于工业园、产业园、物流园、写字楼和公…...

【论文复现】基于Otsu方法的多阈值图像分割改进鲸鱼优化算法

目录 1.摘要2.鲸鱼优化算法WOA原理3.改进策略4.结果展示5.参考文献6.代码获取 1.摘要 本文提出了一种基于Otsu方法的多阈值图像分割改进鲸鱼优化算法&#xff08;RAV-WOA&#xff09;。RAV-WOA算法能够在分割灰度图像和彩色图像时&#xff0c;自动选择最优阈值&#xff0c;并确…...

TypeScript 运算符

TypeScript 运算符 TypeScript 作为 JavaScript 的超集,在 JavaScript 的基础上增加了静态类型系统,使得开发大型应用更加容易和维护。在 TypeScript 中,运算符是执行特定数学或逻辑运算的符号。本文将详细介绍 TypeScript 中常见的运算符,并对其使用方法进行详细阐述。 …...

关于系统重构实践的一些思考与总结

文章目录 一、前言二、系统重构的范式1.明确目标和背景2.兼容屏蔽对上层的影响3.设计灰度迁移方案3.1 灰度策略3.2 灰度过程设计3.2.1 case1 业务逻辑变更3.2.2 case2 底层数据变更&#xff08;数据平滑迁移&#xff09;3.2.3 case3 在途新旧流程兼容3.2.4 case4 接口变更3.2.5…...