9.Oracle分区表
发布时间:2020-12-12 16:19:55 所属栏目:百科 来源:网络整理
导读:什么是分区表 1.分区表是吧每个表分为几个不同的部分,并且将这写不同的部分存储在不同的位置。被分区的表称为分区表,分成的不同部分称为一个区。 2.当表中的数据不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应考虑对表进行分区。表
什么是分区表
1.分区表是吧每个表分为几个不同的部分,并且将这写不同的部分存储在不同的位置。被分区的表称为分区表,分成的不同部分称为一个区。
2.当表中的数据不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应考虑对表进行分区。表分区后,逻辑上依然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时不至于扫描整张表。
Oracle提供分区方法有以下几种:范围分区、列表分区、散列分区、复合分区、间隔分区和虚拟列分区。 1.范围分区 范围分区将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期。 CREATE TABLE RangeTable ( idd INT PRIMARY KEY,iNAME VARCHAR(10),grade INT ) PARTITION BY RANGE (grade) ( PARTITION part1 VALUES LESS THEN (1000) TABLESPACE Part1_tb,PARTITION part2 VALUES LESS THEN (MAXVALUE) TABLESPACE Part2_tb ); 注: 1.指定表空间(TABLESPACE)可以不写,如果不写的则会存放到当前表空间,否则会存放到指定表空间中。 2.MAXVALUE关键字说明,是将其它数据写入此分区;如果没有足够的分区,插入数据时就会报错。 2.间隔分区 create table audit_trail (ts timestamp,data varchar2(30)) partition by range(ts) interval (numtoyminterval(1,'month')) (partition p0 values less than(to_date('2010-01-01','yyyy-mm-dd')));interval :代表间隔,即按照括号后面定义的间隔添加分区。 numtoyminterval(1,'month'):表示没1个月为一个分区。也可以为YEAR。 查看所有分区表 SELECT * FROM USER_TAB_PARTITIONS 查看分区数据 SELECT*FROM 表名 PARTITION(分区名) 注: 1.其它分区使用方法: 2.虚拟分区,间隔分区是Oracle 11G 新加入的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |