暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片
分区表学习.docx
556
34页
85次
2024-01-17
5墨值下载
1.
分区表概述
1.1.
分区表概念
分区表就是将表在物理存储层面分成多个小的片段,这些片段即称为分区,每个分区保
存表的一部分数据,表的分区对上层应用是完全透明的,从应用的角度来看,表在逻辑上依
然是一个整体。
每个分区都有自己的名字并可以拥有不同的存储特性,例如可以将分区保存在不同的磁
盘以上分散
I/O
,或者分散在不同的表空间(表空间需要有相同的
block size
)。
向分区表插入数据时,为了判断每条数据应该被分配至哪个分区,我们通常需要选择定
义一个分区键(
Partition Key
。根据每条数据分区键的值或者对其运算的结果来决定数据
的分区归属,分区键可以由
1
或多个列组成(最多
16
个列)
1.2.
何时使用分区表
知道了分区表的概念,那么什么情况下应该使用分区表呢?如果遇到如下几个场景你可
以考虑使用分区表:
(1)
表的大小超过
2G
(2)
表中有大量的历史数据,数据存在明显的时间顺序
(3)
表的存储必须分散在不同的存储设备上
1.3.
分区表的优点
分区表在结构和管理上比普通表更复杂,但它也有一定的优点,主要优点有以下
3
类:
1.3.1.
提升
SQL
查询性能
对于
SQL
查询,当
where
条件涉及分区键时,可以快速定位需要扫描的分区,这样可以
将数据的扫描范围限制在很小的范围,极大的提升查询性能。这个特性叫做分区裁剪
Partition Pruning
)。
另外,在多表连接(
join
)时,如果在每个表在连接的键上都进行了分区,那么
Oracle
可以将两个大表之间的连接转换成更小的分区级连接,极大提升连接速度,这个特性叫做分
区连接(
Partition-wise Join
)。
1.3.2.
提升表可管理性
使用分区表之后,原来表级别的管理操作也被分散为至“分区级”,各个分区上独立的进
行运维任务,原先一个大表上的运维任务,现在可以拆开成一系列小任务分散在不同的时间
窗口执行。例如,平时备份表的操作,现在可以备份单个分区。
增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;
维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;
1.3.3.
提升数据可用性
当表分区后,每个分区都具有独立性。在你操作某个分区时,不会影响其他分区数据的
使用,即使某个分区因为故障不可用,也完全不会影响其他分区上运行的事务。同时分区可
以存储在不同的表空间
/
物理介质上,分散
I/O
压力。
2.
分区类型
Oracle
基础分区策略有:
(1)
范围分区(
Range Partition
of 34
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文档被以下合辑收录

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜