NO IMAGE

–表分割槽需要在建立表的時候建立
 
–1.範圍分割槽(最後一個區必須有最大值限制maxvlaue表示大於3000的所有值)
create table comp(
    id number(10) primary key,
    name varchar2(50) not null,
    price number(10,2) not null
)
partition by range(price)(
    partition p1 values less than(1000),
    partition p2 values less than(2000),
    partition p3 values less than(3000),
    partition p4 values less than(maxvalue),
)
 
 
–2.雜湊分割槽(通過在分割槽鍵上執行HASH函式決定儲存的分割槽)
create table emp(
   empId   number(8) not null,
   empName varchar2(30) not null,
   address varchar2(50),
   departmentId  number(5)  /*部門編號*/
)
partition by hash(departmentId) partitions 5;
 
 
–3.列表分割槽(允許使用者將不相關的資料組織在一起)
create table emp(
   empId   number(8) not null,
   empName varchar2(30) not null,
   address varchar2(50),
   departmentId  number(5)  /*部門編號*/
)
partition by list(address) (
   partition p1 values(‘上海’),
   partition p2 values(‘北京’),
   partition p3 values(‘深圳’,’廣州’),
   partition p4 values(default)
);
 
 
–4.複合分割槽(範圍分割槽與雜湊分割槽或列表分割槽的組合)
create table comp(
   productId  number(10) not null,
   sale_date  date not null,/*銷售日期*/
   sale_cost  number(15)    /*銷售成本*/

partition by range(sale_date)            //範圍分割槽
subpartition by hash(productId) subpartitions 5            //雜湊分割槽
(
     //範圍分割槽
   partition p1 values less than (to_date(‘2001-1-1′,’YYYY-MM-DD’)),
   partition p2 values less than (to_date(‘2002-1-1′,’YYYY-MM-DD’)),
   partition p3 values less than (maxvalue)
 );