【SQL应知应会】表分区(四)• Oracle版

请添加图片描述

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享,与更多的人进行学习交流

本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习,有基础也有进阶,有MySQL也有Oracle

请添加图片描述

分区表 • Oracle版

  • 前言
  • 一、分区表
  • 1.什么是表分区
  • 2.创建分区表
    • 2.1 创建范围分区表
    • 2.2 创建列表分区表
    • 2.3 创建散列分区表
    • 2.4 创建复合分区表
  • 3.表分区操作
    • 3.1 创建`range-list`分区
    • 3.2查看分区
    • 3.3查看子分区
    • 3.4 添加分区
    • 3.5 添加子分区
    • 3.6 截断表分区
    • 3.7合并或拆分表分区
      • 3.7.1拆分分区
      • 3.7.2 合并分区
    • 3.8 删除分区
  • 4.分区模板
    • 4.1 对于分区而言,更好的做法就是使用分区模板
    • 4.2 查看分区
    • 4.3添加分区
    • 4.4 分区模板的好处与弊端
  • 小结

前言

✅对于表分区这块内容,我们在MySQL方面已经有五篇内容了,大家可以去我的专栏SQL应知应会进行学习
🆗前面也有过Oracle的表分区的开篇和表分区(二)• Oracle版、【SQL应知应会】表分区(三)• Oracle版了
今天这篇内容继续Oracle的表分区,将Oracle的表分区完结
✳️今天这篇主要讲了表分区的一些操作,如合并和拆分表分区,删除表分区,其实今天的重点分区模板
✴️如果大家学习过前面MySQL的表分区的话,那么对于今天的内容是很轻松就可以学会的,当然,这并没有严格的学习顺序的安排,只是对于MySQL的表分区,我花了大量的篇幅进行学习,大家可以根据自己的学习情况进行随意的选择学习顺序(无需有过多的顾虑)
希望文章的内容对大家有所帮助,如果有什么不足的地方,大家可以在评论区或者私信我,感谢大家的支持
💻那么,快拿出你的电脑,跟着文章一起学习起来吧

一、分区表

1.什么是表分区

👉:传送门💖什么是表分区💖

1.1 分区的意义
1.2 分区的作用
1.3 表分区的方法

2.创建分区表

2.1 创建范围分区表

👉:传送门💖创建范围分区表💖

2.1.1 基本语法
2.1.2 示例

2.2 创建列表分区表

👉:传送门💖创建列表分区表💖

2.2.1 基本语法
2.2.2 示例

2.3 创建散列分区表

👉:传送门💖创建散列分区表💖

2.3.1 基本语法
2.3.2 示例1
2.3.2 示例2

2.4 创建复合分区表

👉:传送门💖创建复合分区表💖

2.4.1 示例1 范围-列表复合分区
2.4.3 示例2 范围-散列复合分区

3.表分区操作

👉:传送门💖3.1~3.6💖

3.1 创建range-list分区

3.2查看分区

3.3查看子分区

3.4 添加分区

3.4.1 添加主分区不带子分区
3.4.2 添加主分区时将子分区带上

3.5 添加子分区

3.6 截断表分区

👉:传送门💖3.1~3.6💖

3.7合并或拆分表分区

3.7.1拆分分区

  • split用于拆分范围分区,拆的时候如果没有定义子分区,系统会自动给子分区一个名字(见下图)
alter table test_range_list_only split partition partrage_201102 at(201102) into(
partition partrage_201101,
partition partrage_201102
)

# 有些分区是没有办法拆分的
## 例如分区partrage_201104
### 分区partrage_201104是小于201105月份分区,但是前面已经有partrage_201103(小于201104月份分区,所以partrage_201104分区里其实是201104月份,无法将201104月份再拆成两个月)

在这里插入图片描述

3.7.2 合并分区

alter table test_range_list_only merge partitions partrage_201101,partrage_201102 into partition partrage_201102 ;

在这里插入图片描述

3.8 删除分区

alter table test_range_list_only drop partition partrage_201102
  • 如果只剩下一个分区,是无法靠上述命令删除的,会出现报错ORA-14083:无法删除分区表的唯一分区

在这里插入图片描述

  • 想彻底删除分区就直接删除表,不然n个分区最多只能删除n-1个
drop table test_range_list_only purge; -- 想彻底删除分区就直接删除表,不然n个分区最多只能删除n-1个

4.分区模板

4.1 对于分区而言,更好的做法就是使用分区模板

create table test_partition(
       month_id varchar2(6),
       prov_id varchar2(20),
       imei varchar2(50),
       use_rat_flag varchar2(20)
       )
partition by range(month_id)
subpartition by list(prov_id)
subpartition template(
       subpartition subpart010 values('010'),
       subpartition subpart011 values('011'),
       subpartition subpart013 values('013'),
       subpartition subpart017 values('017'),
       subpartition subpart018 values('018'),
       subpartition subpart019 values('019'),
       subpartition subpart030 values('030'),
       subpartition subpart031 values('031'),
       subpartition subpart034 values('034'),
       subpartition subpart036 values('036'),
       subpartition subpart038 values('038'),       
       subpartition subpart050 values('050'),
       subpartition subpart051 values('051'),
       subpartition subpart059 values('059'),
       subpartition subpart070 values('070'),
       subpartition subpart071 values('071'),
       subpartition subpart074 values('074'),
       subpartition subpart075 values('075'),
       subpartition subpart076 values('076'),
       subpartition subpart079 values('079'),
       subpartition subpart081 values('081'),
       subpartition subpart083 values('083'),
       subpartition subpart084 values('084'),
       subpartition subpart085 values('085'),
       subpartition subpart086 values('086'),
       subpartition subpart087 values('087'),
       subpartition subpart088 values('088'),
       subpartition subpart089 values('089'),
       subpartition subpart090 values('090'),
       subpartition subpart091 values('091'),
       subpartition subpart097 values('097'),
       subpartition subpartdefault values(default)
       )
(      
       partition part201606 values less than ('201607')
       pctfree 0 pctused 40 initrans 1 maxtrans 255
       storage(
               buffer_pool default flash_cache default cell_flash_cache default)
       compress basic nologging);
       
# pctfree 0 pctused 40 initrans 1 maxtrans 255: 这部分是用于指定表中的数据块的管理参数

## pctfree: 空闲区域占用每个数据块的百分比。在此示例中,0 表示没有空闲区域。
## pctused: 数据块中至少被使用的百分比。在此示例中,40 表示数据块中至少需要被使用 40%。
## initrans: 表级别事务槽数,初始化时每个数据块的最大事务槽数。在此示例中,为 1。
## maxtrans: 最大事务槽数,数据块上的最大活动事务槽数。在此示例中,为 255。

# storage (...): 这部分是用于指定表的存储参数
## 在此示例中,采用了默认的存储参数
## 这些参数包括缓冲池 (buffer_pool)、闪存缓存 (flash_cache) 和单元闪存缓存 (cell_flash_cache)。

# compress basic: 这部分指定了表的压缩选项。在此示例中,采用了基本压缩。

# nologging: 这部分指定了在表上执行的插入操作不记录日志。

4.2 查看分区

在这里插入图片描述
在这里插入图片描述

4.3添加分区

  • 前面的案例是每个子分区名称都不一样,如果像这个分区模板的案例,主分区中所有的子分区名称都是固定的,那么只需要每次add主分区就可以,会自动带上子分区
alter table test_partition add partition part201607 values less than ('201608')

在这里插入图片描述

4.4 分区模板的好处与弊端

  • 分区模板的好处:子分区前置,每次添加主分区,会自动带上子分区
  • 分区模板的弊端:不同主分区中的子分区的名称是一样的,但是它会产生唯一的子分区实例,自动拼接子分区名称(见上图)

在标题3.4中的创建表分区方式,就不能通过子分区模板去创建了,因为每个子分区定义的时候都不一样,这种是先定义了主分区,后定义了子分区

而子分区模板是先定义子分区,后定义主分区,不同的主分区中的子分区的名字是统一的

但是标题3.4中的创建方式有一个好处,就是每次都可以直观的看到子分区的名字,而子分区模板的子分区名字需要在系统表中查询

小结

😘感谢大家耐心的看完这篇文章,这篇文章是Oracle的表分区的第4篇文章,也是本专栏关于Oracle表分区的最后一篇文章,对于SQL在表分区的知识点,我们在MySQL方面已经有五篇内容了,大家可以去我的专栏SQL应知应会 进行学习,如果大家觉着还算可以,那么就给个三连支持一下吧
🏡也可以加入我的社区一起学习呀
✅如果想要继续关注和学习后续更多的内容,那就关注一下爱书不爱输的程序猿吧,当然,如果大家还有什么其他方面的知识点想要看,可以在评论区或者私信我

请添加图片描述

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

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

相关文章

【ASP.NET MVC】使用动软(二)(10)

一、添加动软生成工程 按前文添加动态到工程 双击动软 完成新建数据库服务器后 ,需要关闭重新打开 选择简单三层,注意保存位置 注意切换数据库: 生成后拷贝五个文件夹到工程目录 注意目录结构: 添加四个项目到原来的工程&…

Java 之LocalDateTime的介绍和使用

LocalDateTime是Java的日期和时间类之一,用于表示不带时区信息的日期时间。 LocalDateTime 没有时区, 所以也就不能用来直接获取时间戳LocalDateTime 是一个基于值得类, 所以该类的示例不是通过构造函数的方式进行创建 以下是一些关于Loca…

解决Linux下PyCharm无法新建文件

一、问题描述 如图,在Ubuntu Linux系统中使用pycharm管理项目时,提示无法新建.py源文件: 二、问题解决 将问题定性为文件夹(目录)权限问题,在终端中打开项目文件夹的上级目录,将整个项目目录的…

Kafka3.0.0版本——Broker(Zookeeper服务端存储的Kafka相关信息)

目录 一、启动zookeeper集群及kafka集群服务启动1.1、先启动三台zookeeper集群服务,再启动三台kafka集群服务1.2、使用PrettyZoo连接zookeeper客户端工具 二、在zookeeper服务端存储的Kafka相关信息 一、启动zookeeper集群及kafka集群服务启动 1.1、先启动三台zook…

LLVM笔记1

参考:https://www.bilibili.com/video/BV1D84y1y73v/?share_sourcecopy_web&vd_sourcefc187607fc6ec6bbd2c74a3d0d7484cf 文章目录 零、入门名词解释1. Compiler & Interpreter2. AOT静态编译和JIT动态解释的编译方式3. Pass4. Intermediate Representatio…

PHP-简单项目引起的大麻烦--【白嫖项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 首页小插曲小插曲完了么?必要的项目知识PHPThinkPHPThinkPHP的MVCThinkTemplateThinkPHP 6和ThinkPHP 5 phpStudy 设置导数据库展示页面数据库表结构项目目录如图…

flink+kafka+doris+springboot集成例子

目录 一、例子说明 1.1、概述 1.1、所需环境 1.2、执行流程 二、部署环境 2.1、中间件部署 2.1.1部署kakfa 2.1.1.1 上传解压kafka安装包 2.1.1.2 修改zookeeper.properties 2.1.1.3 修改server.properties 2.1.1.3 启动kafka 2.1.2、部署flink 2.1.2.1 上传解压f…

maven开发利器:idea安装maven依赖分析插件 Maven Helper,谁用谁知道!

大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。 这篇博客给大家介绍一款博主实战开发中一直在使用的pom开发分析利器,教大家玩转maven:使用idea安装 Maven Helper 插件,可以分析依…

dialog => :before-close的属性应用

在element-ui里面关闭弹窗的时候before-close会触发。 也就是点击X的时候回触发before-close这个属性, 代码实例: <el-dialogtitle"新增用户":visible.sync"dialogVisible"width"50%":before-close"handleClose"> handleClose…

车载软件架构 —— 车载软件安全启动关键技术解读

车载软件架构 —— 车载软件安全启动关键技术解读 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生…

Stable Diffusion - SDXL 1.0 全部样式设计与艺术家风格的配置与提示词

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132072482 来源于 Anna Dittmann 安娜迪特曼&#xff0c;艺术家风格的图像&#xff0c;融合幻想、数字艺术、纹理等样式。 SDXL 是 Stable Diffus…

网络基础1

文章目录 网络基础11. 计算机网络背景1.1 网路发展1.2 认识 "协议" 2. 网络协议初识2.1 协议分层2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型协议栈与OS的关系 3. 网络传输基本流程3.1 同一个局域网两台主机通信3.2 同一个路由器的两个子网通信 4. 网络中的地址管理4…

2023 电赛E题--可能会出现的问题以及解决方法

2023年电赛E题报告模板&#xff08;K210版&#xff09;--可直接使用 本文链接&#xff1a;2023年电赛E题报告模板&#xff08;K210版&#xff09;--可直接使用_皓悦编程记的博客-CSDN博客 解决激光笔在黑色区域无法识别 本文链接&#xff1a; 2023 电赛 E 题 激光笔识别有误-…

【Python】基础:标准库常用模块

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍标准库常用模块。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路&#…

vue3过滤输入框首尾空格

vue3过滤输入框首尾空格 在 directive文件夹下 新建 trim.ts 文件 // trim.ts 文件 import { App } from "vue"function getInput(el: { tagName: string; querySelector: (arg0: string) > any }) {let inputEleif (el.tagName ! INPUT) {inputEle el.queryS…

如何加载模型YOLOv8 ONNXRuntime

YOLOv8 是 YOLO(You Only Look Once)目标检测系统的最新版本(v8)。YOLO 是一种实时、一次性目标检测系统,旨在在网络的单次前向传递中执行目标检测,使其快速高效。YOLOv8是之前YOLO模型的改进版本,具有更高的精度和更快的推理速度。 ONNX(开放神经网络交换)是一种表示…

《每天5分钟玩转kubernetes》读书笔记

笔记 概念 Pod是脆弱的&#xff0c;但应用是健壮的。 kubelet运行在Cluster所有节点上&#xff0c;负责启动Pod和容器。kubeadm用于初始化Cluster。kubectl是k8s命令行工具。通过kubectl可以部署和管理应用&#xff0c;查看各种资源&#xff0c;创建、删除和更新各种组件。 …

Maven【入门笔记】

Maven 解决版本依赖的问题 https://www.liaoxuefeng.com/wiki/1252599548343744/1309301146648610 如果没有项目管理工具&#xff0c;在开发项目的时候&#xff0c;我们需要手动管理依赖包&#xff0c;需要管理依赖包的版本、去找到并下载依赖包、还有依赖包所依赖的包 等等。…

【C语言进阶】数据的存储----浮点型篇

&#x1f341; 博客主页:江池俊的博客 &#x1f4ab;收录专栏&#xff1a;C语言—探索高效编程的基石 &#x1f4bb; 其他专栏&#xff1a;数据结构探索 ​&#x1f4a1;代码仓库&#xff1a;江池俊的代码仓库 &#x1f3aa; 社区&#xff1a;GeekHub &#x1f341; 如果觉得博…

途游游戏 x 极狐GitLab “通关” DevOps :单元测试从无到优,覆盖率 0→80%

目录 4 个工具孤岛 → 极狐GitLab 全家桶&#xff0c; 被动的「人找进度」 → 高效的「进度找人」 把 Code Review 做扎实 代码质量「向左移」&#xff0c;修复成本「往下降」 从无到「优」 自动执行单元测试&#xff0c;覆盖率 0→80% 你喜欢玩游戏吗&#xff1f; 最近…