Oracle 分区表总结Word文档下载推荐.docx

上传人:b****1 文档编号:15365575 上传时间:2022-10-29 格式:DOCX 页数:36 大小:29.83KB
下载 相关 举报
Oracle 分区表总结Word文档下载推荐.docx_第1页
第1页 / 共36页
Oracle 分区表总结Word文档下载推荐.docx_第2页
第2页 / 共36页
Oracle 分区表总结Word文档下载推荐.docx_第3页
第3页 / 共36页
Oracle 分区表总结Word文档下载推荐.docx_第4页
第4页 / 共36页
Oracle 分区表总结Word文档下载推荐.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

Oracle 分区表总结Word文档下载推荐.docx

《Oracle 分区表总结Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Oracle 分区表总结Word文档下载推荐.docx(36页珍藏版)》请在冰豆网上搜索。

Oracle 分区表总结Word文档下载推荐.docx

(2),其中包含历史数据的表,新的数据加入到最新的分区。

一个典型的例子是一个历史的只有当前月份的数据更新和其他11个月内是只读的表。

在oracle10g中最多支持:

1024k-1个分区:

Tablescanbepartitionedintoupto1024K-1separatepartitions

表可以分成​​高达1024K-1单独的分区

联机文档上有关分区表和索引的说明:

PartitionedTablesandIndexes

分区提供以下优点:

(1)由于将数据分散到各个分区中,减少了数据损坏的可能性;

(2)可以对单独的分区进行备份和恢复;

(3)可以将分区映射到不同的物理磁盘上,来分散IO;

(4)提高可管理性、可用性和性能。

Oracle10g提供了以下几种分区类型:

(1)范围分区(range);

(2)哈希分区(hash);

(3)列表分区(list);

(4)范围-哈希复合分区(range-hash);

(5)范围-列表复合分区(range-list)。

Range分区:

  Range分区是应用范围比较广的表分区方式,它是以列的值的范围来做为分区的划分条件,将记录存放到列值所在的range分区中。

如按照时间划分,2010年1月的数据放到a分区,2月的数据放到b分区,在创建的时候,需要指定基于的列,以及分区的范围值。

在按时间分区时,如果某些记录暂无法预测范围,可以创建maxvalue分区,所有不在指定范围内的记录都会被存储到maxvalue所在分区中。

如:

createtablepdba(idnumber,timedate)partitionbyrange(time)

partitionp1valueslessthan(to_date('

2010-10-1'

'

yyyy-mm-dd'

)),

partitionp2valueslessthan(to_date('

2010-11-1'

partitionp3valueslessthan(to_date('

2010-12-1'

partitionp4valueslessthan(maxvalue)

Hash分区:

  对于那些无法有效划分范围的表,可以使用hash分区,这样对于提高性能还是会有一定的帮助。

hash分区会将表中的数据平均分配到你指定的几个分区中,列所在分区是依据分区列的hash值自动分配,因此你并不能控制也不知道哪条记录会被放到哪个分区中,hash分区也可以支持多个依赖列。

createtabletest

transaction_idnumberprimarykey,

item_idnumber(8)notnull

partitionbyhash(transaction_id)

partitionpart_01tablespacetablespace01,

partitionpart_02tablespacetablespace02,

partitionpart_03tablespacetablespace03

);

在这里,我们指定了每个分区的表空间。

List分区:

  List分区也需要指定列的值,其分区值必须明确指定,该分区列只能有一个,不能像range或者hash分区那样同时指定多个列做为分区依赖列,但它的单个分区对应值可以是多个。

  在分区时必须确定分区列可能存在的值,一旦插入的列值不在分区范围内,则插入/更新就会失败,因此通常建议使用list分区时,要创建一个default分区存储那些不在指定范围内的记录,类似range分区中的maxvalue分区。

在根据某字段,如城市代码分区时,可以指定default,把非分区规则的数据,全部放到这个default分区。

createtablecustaddr

id 

 

varchar2(15byte) 

notnull,

areacode 

varchar2(4byte)

partitionbylist(areacode)

( 

partitiont_list025values('

025'

), 

partitiont_list372values('

372'

), 

partitiont_list510values('

510'

partitionp_othervalues(default)

组合分区:

如果某表按照某列分区之后,仍然较大,或者是一些其它的需求,还可以通过分区内再建子分区的方式将分区再分区,即组合分区的方式。

  组合分区呢在10g中有两种:

range-hash,range-list。

注意顺序,根分区只能是range分区,子分区可以是hash分区或list分区。

transaction_datedate

partitionbyrange(transaction_date)subpartitionbyhash(transaction_id)

subpartitions3storein(tablespace01,tablespace02,tablespace03)

partitionpart_01valueslessthan(to_date(’2009-01-01’,’yyyy-mm-dd’)),

partitionpart_02valueslessthan(to_date(’2010-01-01’,’yyyy-mm-dd’)),

partitionpart_03valueslessthan(maxvalue)

createtableemp_sub_template(deptnonumber,empnamevarchar(32),gradenumber)

partitionbyrange(deptno)subpartitionbyhash(empname)

subpartitiontemplate

(subpartitionatablespacets1,

subpartitionbtablespacets2,

subpartitionctablespacets3,

subpartitiondtablespacets4

(partitionp1valueslessthan(1000),

partitionp2valueslessthan(2000),

partitionp3valueslessthan(maxvalue)

);

createtablequarterly_regional_sales

(deptnonumber,item_novarchar2(20),

txn_datedate,txn_amountnumber,statevarchar2

(2))

tablespacets4

partitionbyrange(txn_date)

subpartitionbylist(state)

(partitionq1_1999valueslessthan(to_date('

1-apr-1999'

'

dd-mon-yyyy'

))

(subpartitionq1_1999_northwestvalues('

or'

wa'

),

subpartitionq1_1999_southwestvalues('

az'

ut'

nm'

subpartitionq1_1999_northeastvalues('

ny'

vm'

nj'

subpartitionq1_1999_southeastvalues('

fl'

ga'

subpartitionq1_1999_northcentralvalues('

sd'

wi'

subpartitionq1_1999_southcentralvalues('

ok'

tx'

),

partitionq2_1999valueslessthan(to_date('

1-jul-1999'

(subpartitionq2_1999_northwestvalues('

subpartitionq2_1999_southwestvalues('

subpartitionq2_1999_northeastvalues('

subpartitionq2_1999_southeastvalues('

subpartitionq2_1999_northcentralvalues('

subpartitionq2_1999_southcentralvalues('

partitionq3_1999valueslessthan(to_date('

1-oct-1999'

(subpartitionq3_1999_northwestvalues('

subpar

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1