oracle分割槽表的使用和查詢

2021-10-13 07:10:41 字數 2436 閱讀 2226

參考

假設有乙個customer表,表中有資料200000行,我們將此表通過customer_id進行分割槽,每個分割槽儲存100000行,我們將每個分割槽儲存到單獨的表空間中,這樣資料檔案就可以跨越多個物理磁碟。下面是建立表和分割槽的**,

create

table customer

( customer_id number not

null

primary

key,

first_name"white-space:pre"

>

<

/span>varchar2(30)

notnull

, last_name"white-space:pre"

>

<

/span>varchar2(30)

notnull

, phone"white-space:pre"

>

<

/span>varchar2(15)

notnull

, email"white-space:pre"

>

<

/span>varchar2(80)

,status

"white-space:pre"

>

<

/span>

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

);

常用的

新增分割槽

-- range partitioned table

alter

table range_example add

partition part04 values less than (to_date(

'2008-10-1 00:00:00'

,'yyyy-mm-ddhh24:mi:ss'))

;--list partitioned table

alter

table list_example add

partition part04 values

('te');

--adding values for a list partition

alter

table list_example modify

partition part04 add

values

('mis');

--dropping values from a list partition

alter

table list_example modify

partition part04 drop

values

('mis');

--hash partitioned table

alter

table hash_example add

partition part03;

--增加subpartition

alter

table range_hash_example modify

partition part_1 add subpartition part_1_sub_4;

注:hash partitioned table新增partition時,現有表的中所有data都有重新計算hash值,然後重新分配到分割槽中,所以被重新分配的分割槽的indexes需要rebuild 。

刪除分割槽

alter

table sales drop

partition p3;

alter

table sales drop subpartition p4sub1;

合併分割槽

alter

table sales merge partitions p1,p2 into

partition p2 update indexes;

重新命名表分割槽

alter

table table_name rename

partition old_name to new_name;

alter

table table_name rename subpartition old_name to new_name;

Oracle分割槽表資訊的查詢

檢視所有使用者分割槽表及分割槽策略 1 2級分割槽表均包括 select p.table name as 表名,decode p.partitioning key count,1,主分割槽 as 分割槽型別,p.partitioning type as 分割槽型別,p.column name as ...

Oracle分割槽表

1 範圍分割槽 range create table range part tab id number,deal date date,area code number,contents varchar2 4000 partition by range deal date partition p201...

Oracle 分割槽表

我們知道在資料庫中,當一張表的資料量增多時,資料的查詢就會變慢,從而影響應用程式的效能。這時我們應該考慮將表分割槽,表分割槽後在邏輯上仍然屬於一張表,只是在物理上儲存在多個檔案中。範圍分割槽將資料基於範圍對映到每乙個分割槽,這個範圍是你在建立分割槽時指定的分割槽鍵決定的。這種分割槽方式是最為常用的,...