oracle 優化 表分割槽示例

2021-05-26 20:23:17 字數 2842 閱讀 5223

--範圍分割槽 partition by range(--)

/*create table fanwei(

fid number(11) primary key,

fdate date ,

fname varchar2(12)     

)partition by range(fdate)

(partition f1 values less than(to_date('2011-1-01','yyyy-mm-dd')),

partition f2 values less than(to_date('2012-1-01','yyyy-mm-dd')),

partition f3 values less than(to_date('2013-1-01','yyyy-mm-dd')),

partition f4 values less than(maxvalue)

);drop table fanwei;

select * from fanwei;

select * from fanwei partition (f2);

insert into fanwei values(1,to_date('2011-2-01','yyyy-mm-dd'),'12');*/

--雜湊分割槽 partition by hash(column_name)

/*partition by hash(column_name)

(partition d1 [tablespace tbs1],

partition d2 [tablespace tbs2],

partition d3 [tablespace tbs2],

partition d4

);*/

-----------------------------------------

/*create table employee(

e_id number(11) primary key,

e_name varchar2(32),

department varchar2(10)

)partition by hash(department)

(partition d1,

partition d2,

partition d3,

partition d4

);drop table employee;

create table employee(

e_id number(11) primary key,

e_name varchar2(32),

department varchar2(10)

)partition by hash(department)

partitions 4;*/

--列表分割槽 partition by list(--)

/*create table employee1(e_id number(4),e_address varchar2(16))

partition by list(e_address)(

partition north values('北京'),

partition west values('新疆','青藏'),

partition east values('上海','浙江'),

partition south values('海南')

);select * from employee1 partition (north);*/

--復合分割槽(範圍與雜湊或者列表 相組合)

create table sales

( p_id number(11),

sales_date date not null,

sales_cost varchar2(10)

)partition by range(sales_date) --range 範圍

subpartition by hash(sales_cost) --雜湊

subpartitions 5(

partition s1 values less than (to_date('2011-1-01','yyyy-mm-dd')),

partition s2 values less than (to_date('2012-1-01','yyyy-mm-dd')),

partition s3 values less than (to_date('2013-1-01','yyyy-mm-dd')),

partition s4 values less than (to_date('2014-1-01','yyyy-mm-dd')),

partition s5 values less than (maxvalue)

);--新增分割槽 --分割槽界限必須調整為大於最後乙個分割槽界限

alter table employee1 add partition nwes values ('中部');

--刪除分割槽

alter table employee1 drop partition nwes;

--截斷分割槽

alter table employee1 truncate partition nwes;

--合併分割槽 merge-合併

alter table sales merge partitions s1,s2 into partition s2;

--拆分分割槽

alter table sales split partition s2 at (to_date('2011-1-01','yyyy-mm-dd')) into (partition s1,partition s2);

select * from sales partition (s2);

oracle表分割槽設計 ORACLE 分割槽表的設計

分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...

oracle表分割槽設計 ORACLE分割槽表的設計

分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存和分析巨量的歷史資料。分割槽表...

oracle表分割槽設計 ORACLE 分割槽表的設計

oracle 分割槽表的設計 分割槽表的概念 分割槽致力於解決支援極大表和索引的關鍵問題。它採用他們分解成較小和易於管理的稱為分割槽的片 piece 的方法。一旦分割槽被定義,sql語句就可以訪問的操作某乙個分割槽而不是整個表,因而提高管理的效率。分割槽對於資料倉儲應用程式非常有效,因為他們常常儲存...