日期:2014-05-16 浏览次数:20583 次
?
 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。 某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操作如下:  范围分区表: CREATE TABLE sales  (invoice_no NUMBER,  ...  sale_date DATE NOT NULL )  PARTITION BY RANGE (sale_date)  (PARTITION sales1999_q1  VALUES LESS THAN (TO_DATE(‘1999-04-01’,’YYYY-MM-DD’)  TABLESPACE ts_sale1999q1,  PARTITION sales1999_q2  VALUES LESS THAN (TO_DATE(‘1999-07-01’,’YYYY-MM-DD’)  TABLESPACE ts_sale1999q2,  PARTITION sales1999_q3  VALUES LESS THAN (TO_DATE(‘1999-10-01’,’YYYY-MM-DD’)  TABLESPACE ts_sale1999q3,  PARTITION sales1999_q4  VALUES LESS THAN (TO_DATE(‘2000-01-01’,’YYYY-MM-DD’)  TABLESPACE ts_sale1999q4 );  --values less than (maxvalue) 列表分区表: create table emp (  empno number(4),  ename varchar2(30),  location varchar2(30))  partition by list (location)  (partition p1 values ('北京'),  partition p2 values ('上海','天津','重庆'),  partition p3 values ('广东','福建') partition p0 values (default) ); 哈希分区: create table emp (  empno number(4),  ename varchar2(30),  sal number)  partition by hash (empno)  partitions 8 
                        
1.1 分区表PARTITION table
1.1.1 分区表的建立: