oracle分区表的优缺点及用法

58次阅读
没有评论

共计 2048 个字符,预计需要花费 6 分钟才能阅读完成。

本篇内容介绍了“oracle 分区表的优缺点及用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

I 分区表的概述:

  Oracle 的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外, 分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。
 
分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。

1、分区表的优点:

 (1)由于将数据分散到各个分区中,减少了数据损坏的可能性; 
 (2)可以对单独的分区进行备份和恢复; 
 (3)可以将分区映射到不同的物理磁盘上,来分散 IO; 
 (4)提高可管理性、可用性和性能。

2、什么时候用分区表

  (1) 单表过大,超过一定范围,建议以 g 计算表,均可考虑用分区
 (2)历史数据据需要剥离的
 (3)查询特征非常明显,比如是按整年、整月或者按某个范围!

3、分区表的类型

  1、range 分区,按范围
  2、list 分区,列举分区
  3、hash 分区,根据 hash 值进行的散列分区
  4、复合分区,9i 开始,Oracle 就包括了 2 种复合分区,RANGE-HASH 和 RANGE-LIST。在 11g,Oracle 一下就提供了 4 种复合分区:RANGE-RANGE、LIST-RANGE、LIST-HASH 和 LIST-LIST。

II 创建分区的举例

11g 自动分区技术

CREATE TABLE auto_partition (
OBJECT_ID NUMBER,
OBJECT_TYPE VARCHAR2(128),
CREATED DATE)
PARTITION BY RANGE (CREATED)
INTERVAL(NUMTOYMINTERVAL(1, month))
(PARTITION P0 VALUES LESS THAN (TO_DATE( 1-1-2011 , dd-mm-yyyy)));

-- 按年创建
create table test_jia
 ID NUMBER(20) not null,
 REMARK VARCHAR2(1000)
PARTITION BY RANGE (CREATE_TIME) INTERVAL (numtoyminterval(1,  year))
(partition part_t01 values less than(to_date( 2020-01-01 ,  yyyy-mm-dd)));

这样,就会每个年系统自动生成一个分区

–INTERVAL (NUMTODSINTERVAL(1, day))  表示每天

–INTERVAL (NUMTOYMINTERVAL(1, mouth))  表示每月

–INTERVAL (NUMTODSINTERVAL(7, day))  表示每周

III 分区操作

– 添加分区

添加分区
alter table test_jia add partition P3 valuse less than (to_date( 2020-01-10 , YYYY-MM-DD

– 删除分区

删除分区
alter table test_jia drop partition P3;

说明,如果表只剩下一个分区了,则不能 drop,而应该 drop 表。在复合分区中,如果一个分区只剩下一个子分区,也不能 drop

–truncate 分区

truncate 分区
alter table test_jia truncate partition P4;

– 合并分区

alter table test_jia merge  partition P1,P2 into partition P2;

注意:不能将分区合并到界限较低的分区。以上代码实现了 P1 P2 分区的合并

– 拆分分区

alter table test_jia split partition P2 at(to_date( 2013-02-01 , YYYY-MM-DD)) into (partition P21,partition P22);

– 重命名分区

alter table test_jia RENAME partition P21 to P2;

– 分区表的查询

SQL select * from test_jia partition(p1); 

no rows selected

– 创建分区表索引

create index ind_id on test_jia(id) local;

– 分区表索引重建

alter index ind_test_jia rebuild partition p1 ;

“oracle 分区表的优缺点及用法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-01发表,共计2048字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)