摆下分区表是囊个用的

本文详细介绍了数据库分区表的概念、类型以及使用场景。通过分区,可以提高数据的管理和查询效率,尤其对于大数据量的表,分区能够显著提升查询速度和数据维护的便捷性。同时,文章还探讨了不同分区策略的优缺点,并给出实际操作中的最佳实践建议。
摘要由CSDN通过智能技术生成
前言:分区是管理巨形表和巨形索引的有效手段,可以提高他们的管理性,可用性,并行性 。
表分区种类:范围分区,列表分区,散列分区,复合分区,间隔分区,引用分区,系统分区,虚拟列分区等。
分区索引:本地分区索引和全局分区索引
在那种情况下需要对表分区呢?
1.表的大小超过2GB
2.对表进行并行DML操作时,必须对表分区
3.有时候为了平衡I/0操作,将表分散存储到不同的表空间中去
4.如果需要将表的一部分设置为只读状态,另一部分设置为读写状态必须对表分区
5.如果需要对表的一部分设置为联机状态,另一部分设置为脱机状态必须对表分区
6.如果表中存在long或long raw类型则不能分区,(一个表只能包含long类型一次)
7.索引表仅支持范围分区和散列分区,不能采用复合分区和列表分区
8.分区列必须是主键列的一个子集
9.如果索引表使用了溢出存储,则溢出数据段将采用索引表相同的分区方法
在那种情况下需要对索引分区呢?
1.为了避免移动数据时重建整个索引,可以对索引进行分区,只需重建与移动数据相关的索引分区
2.为了避免对表的分区进行维护时将整个索引设置为失效状态,可以对索引进行分区,只将与表分区对应的索引分区
设置为失效状态即可,不影响其他部分索引的使用
3.为了避免由于索引值的单调急剧增长导致索引条目的剧增进而影响索引的使用效率,可以将索引进行分区,这样新增的索引
条目可以分散在多个索引分区中

范围分区:根据分区列的值的范围分区,通常根据日期类型分区 。
CREATE TABLE sales  
(invoice_no NUMBER,  
...  
sale_date DATE NOT NULL )
PARTITION BY RANGE (sale_date)  
(PARTITION sales1999_q1  
VALUES LESS THAN (TO_DATE(‘1999-04-01’,’YYYY-MM-DD’)  
TABLESPACE ts_sale1999q1,  
PARTITION sales1999_q2  
VALUES LESS THAN (TO_DATE(‘1999-07-01’,’YYYY-MM-DD’)  
TABLESPACE ts_sale1999q2,  
PARTITION sales1999_q3  
VALUES LESS THAN (TO_DATE(‘1999-10-01’,’YYYY-MM-DD’)  
TABLESPACE ts_sale1999q3,  
PARTITION sales1999_q4  
VALUES LESS THAN (TO_DATE(‘2000-01-01’,’YYYY-MM-DD’)  
TABLESPACE ts_sale1999q4 )
--values less than (maxvalue)
enable row movement;
--重建销售分区表
列表分区:不能划分范围(非数值类型和日期类型),同时分区列的取值是一个包含多少数值的集合,使用列表分区可以将无序的
,无关联的数据自然分组。
create table sales_by_list(
deptno number,
detpname varchar(20)
)
partition by list(deptname)
(
partition  list1 values('北京','上海') tablespace tbs1,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值