创建分区表:
oracle分区方法:range、hash、list和composite partition;
range分区表示例:
CREATE TABLE sales_range (salesman_id NUMBER(5), salesman_name VARCHAR2(30),
sales_amount NUMBER(10), sales_date DATE) COMPRESS PARTITION BY RANGE(sales_date)
(
PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')),
PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('03/01/2000','DD/MM/YYYY')),
PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),
PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('05/01/2000','DD/MM/YYYY')));
分区字段values less than必须是确定值,最后一个可以是maxvalue,每个分区可以单独指定物理属性
range分区特点:
最早、最经典的分区方法
Range分区通过对分区字段值的范围进行分区
Range分区特别适合于按时间周期进行数据的存储:日、周、月、年等
数据管理能力强
数据迁移
数据备份
数据交换
范围分区的数据可能不均匀
范围分区与记录值有关,实施难度和可维护性相对较差
hash分区表示例:
create table emp_t(empno integer,ename varchar2(20))
partition by hash(empno)
partitions 4;--指定分区所在表空间(partition part_01 tablespace test,partition part_02 tablespace sys);
list分区表示例:
CREATE TABLE sales_list (salesman_id NUMBER(5), salesman_name VARCHAR2(30),
sales_state VARCHAR2(20), sales_amount NUMBER(1