【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 255storage(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应知应会 进行学习,如果大家觉着还算可以,那么就给个三连支持一下吧
🏡也可以加入我的社区一起学习呀
✅如果想要继续关注和学习后续更多的内容,那就关注一下爱书不爱输的程序猿吧,当然,如果大家还有什么其他方面的知识点想要看,可以在评论区或者私信我

请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

phpstudy 进行 composer 全局配置

背景 因为注意到,使用 phpStudy 进行环境搭建时,有时需要使用 composer 每次都需要查找资料进行配置, 在此进行记录笔记,方便有需要的道友借鉴 配置 版本:composer1.8.5(phpStudy8 当前只能安装这一个版本…

MicroPython ESP32网页实时更新DHT11数据显示

MicroPython ESP32网页实时更新DHT11数据显示 📌相关篇《MicroPython ESP32 读取DHT11温湿度传感器数据》📍《【Micropython esp32/8266】网页点灯控制示例》 ✨本例综合以上两篇文章内容实现:在本地网页中显示DHT11温度传感器数据。可以做到…

git merge 和rebase区别

Merge the incoming changes into the current branch 找到两个分支的祖先 commit,然后将公共分支最新版合并到自己的分支,形成一个新的 commit 提交,用图表示如下。 Rebase the current branch on top of the incoming Rebase 则是重新基于…

3d 地球与卫星绕地飞行

1 创建场景 2 创建相机 3 创建地球模型 4 创建卫星中心 5 创建卫星圆环及卫星 6 创建控制器 7 创建渲染器 <template><div class"home3dMap" id"home3dMap"></div> </template><script> import * as THREE from three impo…

计算机网络——学习笔记

付费版&#xff1a;直接在上面的CSDN资源下载 免费版&#xff1a;https://wwsk.lanzouk.com/ijkcj13tqmyb 有疑问或者错误的地方可以在评论区指出&#xff0c;我会尽快回复 示例图&#xff1a;

Linux操作系统块设备参数调优

目录 一、队列深度 二、调度算法 三、预读量 四、I/O对齐 一、队列深度 队列深度决定了给块设备写I/O的最大并发数&#xff0c;对于Linux系统&#xff0c;默认值为128&#xff0c;一般情况下不建议用户修改此参数。用户可以使用cat命令查询当前块设备队列深度。 linux-ob3a…

el-cascader级联选择器加载远程数据、默认开始加载固定条、可以根据搜索加载远程数据。

加载用户列表分页请求、默认请求20条数据。想添加远程搜索用户功能。原有的方法filter-method不能监听到输入清空数据的时候。这样搜索完无法返回默认的20条数据。直接监听级联选择的v-model绑定的值是无法检测到用户自己输入的。 解决思路&#xff1a; el-cascader 没有提供…

真我V3 5G(RMX2200 RMX2201)解锁刷机全过程

安卓系统新Rom包为GSI&#xff0c;更具有通用性&#xff0c;可以比较放心刷。 原厂系统垃圾多、广告多&#xff0c;甚至热点功能不支持ipv6&#xff0c;严重偏离热点机的定位。 主要参考 https://www.bilibili.com/read/cv20730877/https://www.bilibili.com/read/cv2073087…

【Python】Web学习笔记_flask(4)——钩子函数

钩子函数可以用来注册在请求处理的不同阶段执行出 Flask的请求钩子指的是在执行视图函数前后执行的一些函数&#xff0c; 之前是有4种&#xff0c;但是 before_first_request已经被删除了&#xff0c;使用时会报错 before_request&#xff1a;在每次请求前执行&#xff0c;…

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311)D题题解

文章目录 [Grid Ice Floor](https://atcoder.jp/contests/abc311/tasks/abc311_d)问题建模问题分析1.分析移动时前后两个点之间的联系2.方法1通过BFS将所有按照给定运动方式可以到达的点都标记代码 3.方法2采用DFS来标记路径上的点的运动状态代码 Grid Ice Floor 问题建模 给定…

一文学会git常用命令和使用指南

文章目录 0. 前言1.分支分类和管理1. 分支分类规范&#xff1a;2. 最佳实践3. 分支命名规范示例&#xff1a;4. 分支管理方法&#xff1a; 2. commit 注释规范1. 提交注释结构&#xff1a;2. 提交注释的准则&#xff1a; 3. git 常用命令1. git pull 核心用法2. git push 命令1…

MySQL主从复制——概念、原理、搭建过程

文章目录 1.主从复制概念2.主从复制原理3.主从复制结构的搭建3.1 主库配置3.2 从库配置 4.测试主从复制是否搭建成功5.主从复制的小结 DML&#xff08;data manipulation language&#xff09;是数据操纵语言&#xff1a;它们是SELECT、UPDATE、INSERT、DELETE&#xff0c;就象…

0基础学习VR全景平台篇 第75篇:多现场

多现场是指将多台设备的直播画面整合到一个直播活动链接里面&#xff0c;让用户自行选择切换要看哪个直播画面的功能。既可以是同一个活动的不同角度直播&#xff0c;也可以是异地的直播。多现场不需要导播台&#xff0c;并且可以同时支持平面直播和VR直播的混合切换。多现场仅…

第126天:内网安全-隧道技术SSHDNSICMPSMB上线通讯LinuxMac

知识点 #知识点&#xff1a; 1、入站规则不出网上线方案 2、出站规则不出网上线方案 3、隧道技术-SMB&ICMP&DNS&SSH 4、控制上线-Linux&Mac&IOS&Android-连接方向&#xff1a;正向&反向&#xff08;基础课程有讲过&#xff09; -内网穿透&#xf…

JSP--Java的服务器页面

jsp是什么&#xff1f; jsp的全称是Java server pages,翻译过来就是java的服务器页面。 jsp有什么作用&#xff1f; jsp的主要作用是代替Servlet程序回传html页面的数据&#xff0c;因为Servlet程序回传html页面数据是一件非常繁琐的事情&#xff0c;开发成本和维护成本都非常高…

增量式PID算法及其MATLAB实现

增量式PID算法是一种常用的控制算法,用于控制系统中的反馈控制。它通过对系统的误差进行递推式的计算,实现对系统输出的调节,使得系统的输出逐渐趋向于设定值。 delta u(k)=u(k)-u(k-1)=Kp*(e(k)-e(k-1))+Ki*e(k)+Kd*(e(k)-2*e(k-1)+e(k-2)) PID算法由三个部分组成:比例(…

EditPlus取消自动.bak备份

Tools->Preferences->File 将√取消

Linux知识点 -- 进程间通信(一)

Linux知识点 – 进程间通信&#xff08;一&#xff09; 文章目录 Linux知识点 -- 进程间通信&#xff08;一&#xff09;一、了解进程间通信1.进程间通信的必要性2.进程间通信的技术背景3.进程间通信的本质理解4.进程间通信的标准 二、匿名管道1.匿名管道通信的原理2.匿名管道的…

Service not registered 异常导致手机重启分析

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、Service not registered 异常导致手机重启二、Service not registered 解决方案 一、Service not registered 异常导致手机重启 1.重启 的部分Log如…

Web Worker API

Web Worker API Web Worker 使得在一个独立于 Web 应用程序主执行线程的后台线程中运行脚本操作成为可能。这样做的好处是可以在独立线程中执行费时的处理任务&#xff0c;使主线程&#xff08;通常是 UI 线程&#xff09;的运行不会被阻塞/放慢。 Web Worker概念与用法 Wor…