- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle表分区.
Oracle 表分区方法
1 对表进行单列范围分区:
这使最为常用也是最简单方法,具体例子如下:
create table emp (empno number(4), ename varchar2(30), sal number) partition by range(empno) (partition e1 values less than (1000) tablespace emp1, partition e2 values less than (2000) tablespace emp2, partition e3 values less than (maxvalue) tablespace emp3); insert into emp values (100,Tom,1000); insert into emp values (500,Peter,2000); insert into emp values (1000,Scott,3000); insert into emp values (1999,Bill,4000); insert into emp values (5000,Gates,6000); commit;?字串6
从emp表中选择全部纪录如下:
SQL select * from emp; EMPNO ENAME SAL ---------- ------------------------------ ---------- 100 Tom 1000 500 Peter 2000 1000 Scott 3000 1999 Bill 4000 5000 Gates 6000
还可以按照分区进行选择:
SQL select * from emp partition (e1); EMPNO ENAME SAL ---------- ------------------------------ ---------- 100 Tom 1000 500 Peter 2000 SQL select * from emp partition (e2) EMPNO ENAME SAL ---------- ------------------------------ ---------- 1000 Scott 3000 1999 Bill 4000 SQL select * from emp partition (e3) EMPNO ENAME SAL ---------- ------------------------------ ---------- 5000 Gates 6000
使用了分区,还可以单独针对指定分区进行truncate操作:
alter table emp truncate partition e2;
2 对表进行多列范围分区:
多列范围分区主要是基于表中多个列值范围对数据进行分区,例如:
drop table emp; create table emp (empno number(4), ename varchar2(30), sal number, day integer not null, month integer not null) partition by range(month,day) (partition e1 values less than (5,1) tablespace emp1, partition e2 values less than (10,2) tablespace emp2, partition e3 values less than (maxvalue,maxvalue) tablespace emp3); SQL insert into emp values (100,Tom,1000,10,6); SQL insert into emp values (200,Peter,2000,3,1); SQL insert into emp values (300,Jane,3000,23,11);
第二种 Hash分区:
hash分区最主要机制是根据hash算法来计算具体某条纪录应该插入到哪个分区中,hash算法中最重要是hash函数,Oracle中如果你要使用hash分区,只需指定分区数量即可。建议分区数量采用2n次方,这样可以使得各个分区间数据分布更加均匀。
具体例子如下:
drop tabl
文档评论(0)