Oracle 数据库表分区概念(Partition)

一、Oracle数据库表分区概念和理解

表空间概念:

表空间指的是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。
  通俗来讲,数据库(一套房子,可以有多个房间),表空间(房间),数据库文件(房间中的书架),表(书架上的书)。

分区表概念:

当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,即分区表,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。
在这里插入图片描述

什么时候使用分区表:

1、表的大小超过2GB。
2、表中包含历史数据,新的数据被增加到新的分区中。

表分区的优缺点

优点:
1、改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。
2、增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;
3、维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;
4、均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能。

缺点:
分区表相关:已经存在的表没有方法可以直接转化为分区表。不过 Oracle 提供了在线重定义表的功能。

示例

按照范围分区:

create table student(
	id number primary key,
	age number(3) not null
)
partition by range(id) (
	partition part_01 values less than(3000) tablespace tbl_space01,
	partition part_02 values less than(6000) tablespace tbl_space02,
	partition part_03 values less than(maxvalue) tablespace tbl_space03
);

按照hash分区:

create table student(
	id number primary key,
	age number(3) not null
)
partition by hash(id)(
	partition part_01 tablespace tbl_space01,
	partition part_02 tablespace tbl_space02,
	partition part_03 tablespace tbl_space03
);
  • 1
    点赞
  • 5
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:岁月 设计师:pinMode 返回首页
评论

打赏作者

梦想攻城狮、

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值