oracle学习笔记-分区表-(9)

本文详细介绍了Oracle数据库中的分区表,包括范围分区、列表分区、散列分区和复合分区。范围分区适用于数字或日期类型数据,列表分区适合值固定的数据,如字符串。散列分区用于无法预测列值变化的情况。复合分区则结合了范围、列表或散列的特性,提供更灵活的数据组织方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        将表、索引等数据库对象划分为小的可管理片段的技术,以提高大型表的访问效率。这些分区之间具有相同的逻辑结构。
1、 范围分区
        按照某个列和几个列的值的范围来创建分区。
        范围分区的原则是:数据应尽可能均匀的分布在各个分区中。

        创建分区表的语句如下:


        PARTITION BYRANGE指定分区的类型为范围分区,在括号中指定一个列或多个列。在随后的PARTITION子句中指定每个分区的属性,若不指定名称,数据库将自动指定;“VALUE LESS THAN”指定分区的上界;可加TABLESPACE子句,指定该分区所在表空间。

       进行查询时可以指定在哪个分区表上查询,若不指定则查询整个表中的数据:

SQL>select * frombuss_order PARTITION(name2);

2、 列表分区

        范围分区适合数字型或者日期型的数据,对于不能通过范围分区进行划分的,值又相对固定的,可以通过列表分区的方式分区,例如字符串型的数据。

        创建列表分区的语句如下:


3、 散列分区

        无法预测某个列上的变化范围。

        创建语句如下:


4、 复合分区

复合分区指先对表进行范围分区,然后再对每个范围进行列表分区或者散列分区。

语法如下:

PARTITION BY RANGE(COL1)
SUBPARTITION BY HASH|LIST (COL2)
(PARTITION name1 VALUES LESS THAN(…)
(SUBPARTITION name11,
SUBPARTITION name12,…
)
),…



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值