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) 

复合分区的拆分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/964040.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据分析系列--⑥RapidMiner构建决策树(泰坦尼克号案例含数据)

一、资源下载 二、数据处理 1.导入数据 2.数据预处理 三、构建模型 1.构建决策树 2.划分训练集和测试集 3.应用模型 4.结果分析 一、资源下载 点击下载数据集 二、数据处理 1.导入数据 2.数据预处理 三、构建模型 1.构建决策树 虽然决策树已经构建,但对于大多数初学者或…

Unity游戏(Assault空对地打击)开发(4) 碰撞体和刚体的添加

前言 飞机和世界的大小关系不太对&#xff0c;我稍微缩小了一下飞机。 详细步骤 选中所有地形对象&#xff0c;如果没有圈起的部分&#xff0c;点击Add Component搜索添加。 接着选中Player对象&#xff0c;添加这两个组件&#xff0c;最好&#xff08;仅对于本项目开发&#x…

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

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

【游戏设计原理】97 - 空间感知

一、游戏空间的类型 将游戏设计中的空间设计单独提取出来&#xff0c;可以根据其结构、功能和玩家的交互方式划分为以下几种主要类型。这些类型可以单独存在&#xff0c;也可以组合使用&#xff0c;以创造更加复杂和有趣的游戏体验。 1. 线性空间 定义&#xff1a;空间设计是…

基于云计算、大数据与YOLO设计的火灾/火焰目标检测

摘要&#xff1a;本研究针对火灾早期预警检测需求&#xff0c;采用在Kaggle平台获取数据、采用云计算部署的方式&#xff0c;以YOLO11构建模型&#xff0c;使用云计算服务器训练模型。经训练&#xff0c;box loss从约3.5降至1.0&#xff0c;cls loss从约4.0降至1.0&#xff0c;…

【大数据技术】教程03:本机PyCharm远程连接虚拟机Python

本机PyCharm远程连接虚拟机Python 注意:本文需要使用PyCharm专业版。 pycharm-professional-2024.1.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本地PyCharm远程连接虚拟机,运行Python脚本,提高编程效率。 注意: …

bypass hcaptcha、hcaptcha逆向

可以过steam&#xff0c;已支持并发&#xff0c;欢迎询问&#xff01; 有事危&#xff0c;ProfessorLuoMing

Mac本地部署DeekSeek-R1下载太慢怎么办?

Ubuntu 24 本地安装DeekSeek-R1 在命令行先安装ollama curl -fsSL https://ollama.com/install.sh | sh 下载太慢&#xff0c;使用讯雷&#xff0c;mac版下载链接 https://ollama.com/download/Ollama-darwin.zip 进入网站 deepseek-r1:8b&#xff0c;看内存大小4G就8B模型 …

VSCode设置内容字体大小

1、打开VSCode软件&#xff0c;点击左下角的“图标”&#xff0c;选择“Setting”。 在命令面板中的Font Size处选择适合自己的字体大小。 2、对比Font Size值为14与20下的字体大小。

嵌入式学习---蜂鸣器篇

1. 蜂鸣器分类 蜂鸣器是一种电子发声器件&#xff0c;采用直流电压供电&#xff0c;能够发出声音。广泛应用于计算机、打印机、报警器、电子玩具等电子产品中作为发声部件。一般仅从外形不易分辨蜂鸣器的种类。但是有些蜂鸣器使用广泛&#xff0c;见得多了就很容易分辨。例如常…

解析PHP文件路径相关常量

PHP文件路径相关常量包括以下几个常量&#xff1a; __FILE__&#xff1a;表示当前文件的绝对路径&#xff0c;包括文件名。 __DIR__&#xff1a;表示当前文件所在的目录的绝对路径&#xff0c;不包括文件名。 dirname(__FILE__)&#xff1a;等同于__DIR__&#xff0c;表示当前…

C++底层学习预备:模板初阶

文章目录 1.编程范式2.函数模板2.1 函数模板概念2.2 函数模板原理2.3 函数模板实例化2.3.1 隐式实例化2.3.2 显式实例化 2.4 模板参数的匹配原则 3.类模板希望读者们多多三连支持小编会继续更新你们的鼓励就是我前进的动力&#xff01; 进入STL库学习之前我们要先了解有关模板的…

【腾讯前端面试】纯css画图形

之前参加腾讯面试&#xff0c;第一轮是笔试&#xff0c;面试官发的试卷里有一题手写css画一个扇形、一个平行四边形……笔试时间还是比较充裕的&#xff0c;但是我对这题完全没有思路&#x1f62d;于是就空着了&#xff0c;最后也没过。 今天偶然翻到廖雪峰大佬的博客里提到了关…

智慧园区综合管理系统如何实现多个维度的高效管理与安全风险控制

内容概要 在当前快速发展的城市环境中&#xff0c;智慧园区综合管理系统正在成为各类园区管理的重要工具&#xff0c;无论是工业园、产业园、物流园&#xff0c;还是写字楼与公寓&#xff0c;都在积极寻求如何提升管理效率和保障安全。通过快鲸智慧园区管理系统&#xff0c;用…

自制虚拟机(C/C++)(三、做成标准GUI Windows软件,扩展指令集,直接支持img软盘)

开源地址:VMwork 要使终端不弹出&#xff0c; #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") 还要实现jmp near 0x01类似的 本次的main.cpp #include <graphics.h> #include <conio.h> #include <windows.h> #includ…

如何确认Linux嵌入式系统的触摸屏对应的是哪个设备文件(/dev/input/event1)?如何查看系统中所有的输入设备?输入设备的设备文件有什么特点?

Linux嵌入式系统的输入设备的设备文件有什么特点&#xff1f; 在 Linux 中&#xff0c;所有的输入设备&#xff08;如键盘、鼠标、触摸屏等&#xff09;都会被内核识别为 输入事件设备&#xff0c;并在 /dev/input/ 目录下创建相应的 设备文件&#xff0c;通常是&#xff1a; …

HTTP异步Client源码解析

我们知道Netty作为高性能通信框架&#xff0c;优点在于内部封装了管道的连接通信等操作&#xff0c;用户只需要调用封装好的接口&#xff0c;便可以很便捷的进行高并发通信。类似&#xff0c;在Http请求时&#xff0c;我们通过调用HttpClient&#xff0c;内部使用java NIO技术&…

利用Vue和javascript分别编写一个“Hello World”的定时更新

目录 一、利用Vue编写一个“Hello World”的定时更新&#xff08;1&#xff09;vue编码在Html文件中&#xff08;2&#xff09;vue编码在js文件中 二、利用javascript编写一个“Hello World”的定时更新 一、利用Vue编写一个“Hello World”的定时更新 &#xff08;1&#xff…

leetcode27.删除有序数组中的重复项

目录 问题描述判题标准示例提示 具体思路思路一思路二 代码实现 问题描述 给你一个非严格递增排列的数组nums&#xff0c;请你原地删除重复出现的元素&#xff0c;使每个元素只出现一次&#xff0c;返回删除后数组的新长度。元素的相对顺序应该保持一致 。然后返回nums中唯一元…

Vue 图片引用方式详解:静态资源与动态路径访问

目录 前言1. 引用 public/ 目录2. assets/ 目录3. 远程服务器4. Vue Router 动态访问5. 总结6. 扩展&#xff08;图片不显示&#xff09; 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 在 Vue 开发中&#x…