oracle表分割槽

2021-06-26 07:56:27 字數 3014 閱讀 5617

/*

什麼時候使用分割槽表:

1、表的大小超過2gb。

2、表中包含歷史資料,新的資料被增加都新的分割槽中。

(3).表分割槽的優缺點

表分割槽有以下優點:

1、改善查詢效能:對分割槽物件的查詢可以僅搜尋自己關心的分割槽,提高檢索速度。

2、增強可用性:如果表的某個分割槽出現故障,表在其他分割槽的資料仍然可用;

3、維護方便:如果表的某個分割槽出現故障,需要修復資料,只修復該分割槽即可;

4、均衡i/o:可以把不同的分割槽對映到磁碟以平衡i/o,改善整個系統效能

*/--//查詢表上的分割槽

select * from user_tab_partitions where table_name = 'settle_overall_934';

--//新增分割槽

alter table sales add partition p3 values less than(to_date('2003-06-01',

'yyyy-mm-dd'));

--注意:以上新增的分割槽界限應該高於最後乙個分割槽界限。

--//刪除分割槽

alter table sales drop partition p3;

--//分割槽方式

--一.範圍分割槽:

--例一

create table customer(customer_id number not null primary key,

first_name varchar2(30) not null,

last_name varchar2(30) not null,

phone varchar2(15) not null,

email varchar2(80),

status char(1)) partition by range(customer_id)(partition

cus_part1

values less

than(100000)

tablespace

cus_ts01,

partition

cus_part2

values less

than(200000)

tablespace

cus_ts02)

--例二:按時間劃分

create table order_activities(order_id number(7) not null,

order_date date,

total_amount number,

custotmer_id number(7),

paid char(1)) partition by range(order_date)(partition

ord_act_part01

values less

than(to_date('01- may -2003',

'dd-mon-yyyy'))

tablespaceord_ts01,

partition

ord_act_part02

values less

than(to_date('01-jun-2003',

'dd-mon-yyyy'))

tablespace

ord_ts02,

partition

ord_act_part02

values less

than(to_date('01-jul-2003',

'dd-mon-yyyy'))

tablespace

ord_ts03)

--例三:maxvalue

create table rangetable(idd int primary key, iname varchar(10), grade int) partition by range(grade)(partition

part1

values less

then(1000)

tablespace

part1_tb,

partition

part2

values less

then(maxvalue)

tablespace

part2_tb);

--二.列表分割槽:

--該分割槽的特點是某列的值只有幾個,基於這樣的特點我們可以採用列表分割槽。

--例一

create table problem_tickets

(problem_id   number(7) not null primary key,

description  varchar2(2000),

customer_id  number(7) not null,

date_entered date not null,

status       varchar2(20)

)partition by list (status)

(partition prob_active   values ('active') tablespace prob_ts01,

partition prob_inactive values ('inactive') tablespace prob_ts02

--例二

create  table  listtable

(id    int  primary  key ,

name  varchar (20),

area  varchar (10)

)partition  by  list (area)

(partition  part1 values ('guangdong','beijing') tablespace  part1_tb,

partition  part2 values ('shanghai','nanjing')  tablespace  part2_tb);)

--//合併分割槽

alter table sales merge partitions p1,p2 into partition p2;

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

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

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

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

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

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