资源描述:
《ORACLE数据库表分区》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.1分区表PARTITIONtable在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。1.1.1分区表的建立:某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操作如下:范围分区表:CREATETABLEsales(invoice_noNUMBER,...sale_dateDATENOTNULL)PARTITIONBYRANGE(sale_date)(PARTITIONsales1999_q1VA
2、LUESLESSTHAN(TO_DATE(‘1999-04-01’,’YYYY-MM-DD’)TABLESPACEts_sale1999q1,PARTITIONsales1999_q2VALUESLESSTHAN(TO_DATE(‘1999-07-01’,’YYYY-MM-DD’)TABLESPACEts_sale1999q2,PARTITIONsales1999_q3VALUESLESSTHAN(TO_DATE(‘1999-10-01’,’YYYY-MM-DD’)TABLESPACEts_sale1999q3,P
3、ARTITIONsales1999_q4VALUESLESSTHAN(TO_DATE(‘2000-01-01’,’YYYY-MM-DD’)TABLESPACEts_sale1999q4);--valueslessthan(maxvalue)列表分区表:createtableemp(empnonumber(4),enamevarchar2(30),locationvarchar2(30))partitionbylist(location)(partitionp1values('北京'),partitionp2valu
4、es('上海','天津','重庆'),partitionp3values('广东','福建')partitionp0values(default));哈希分区:createtableemp(empnonumber(4),enamevarchar2(30),salnumber)partitionbyhash(empno)partitions8storein(emp1,emp2,emp3,emp4,emp5,emp6,emp7,emp8);组合分区:范围哈希组合分区:createtableemp(empnonumber
5、(4),enamevarchar2(30),hiredatedate)partitionbyrange(hiredate)subpartitionbyhash(empno)subpartitions2(partitione1valueslessthan(to_date('20020501','YYYYMMDD')),partitione2valueslessthan(to_date('20021001','YYYYMMDD')),partitione3valueslessthan(maxvalue));范围列表组合
6、分区:CREATETABLEcustomers_part(customer_idNUMBER(6),cust_first_nameVARCHAR2(20),cust_last_nameVARCHAR2(20),nls_territoryVARCHAR2(30),credit_limitNUMBER(9,2))PARTITIONBYRANGE(credit_limit)SUBPARTITIONBYLIST(nls_territory)SUBPARTITIONTEMPLATE(SUBPARTITIONeastVALUE
7、S('CHINA','JAPAN','INDIA','THAILAND'),SUBPARTITIONwestVALUES('AMERICA','GERMANY','ITALY','SWITZERLAND'),SUBPARTITIONotherVALUES(DEFAULT))(PARTITIONp1VALUESLESSTHAN(1000),PARTITIONp2VALUESLESSTHAN(2500),PARTITIONp3VALUESLESSTHAN(MAXVALUE));createtablet1(id1numb
8、er,id2number)partitionbyrange(id1)subpartitionbylist(id2)(partitionp11valueslessthan(11)(subpartitionsubp1values(1)));索引分区:CREATEINDEXmonth_ixONsales(sales_month)GLOBALPARTITIONBYR