建立表分割槽

2021-09-29 03:27:33 字數 2115 閱讀 8289

******************************表分割槽*************************

--單獨新增分割槽

alter table 表名 add partition 分割槽名 values less than (to_date('時間', 'yyyy-mm-dd hh24:mi:ss'))

tablespace 表空間名

pctfree 10

initrans 1

maxtrans 255

storage

(initial 64k

next 1m

minextents 1

maxextents unlimited

)--刪除分割槽

alter table 表名 drop partition 分割槽名;

下面參考鏈結  oracle表分割槽詳解(按天、按月、按年等)

1、表分割槽的概念:

當表中的資料庫量不斷增大,查詢資料的速度就會變慢,應用程式的效能就會下降,這時候就應該考慮對錶進行分割槽(同時也可以使用索引)。表進行分割槽後,邏輯上仍然是一張完整的表,只是將表中的資料存放到多個表空間(物理檔案),這樣查詢資料時,不至於每次都掃瞄整張表。

2、分割槽表的優點:

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

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

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

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

3、分割槽表的種類:

1.範圍分割槽,以建立test_partition表為例:

--按行分割槽

create table test_partition1 (

id number(24) primary key,

name varchar2(12) not null,

age number(3),

order_date date

)partition by range(id)(

partition p_1 values less than (10),

partition p_2 values less than (20)

)

--按時間分割槽

create table test_partition2 (

id number(24) primary key,

name varchar2(12) not null,

age number(3),

order_date date

)partition by range(order_date)(

partition p_3 values less than (to_date('2019-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')),

partition p_4 values less than (to_date('2019-12-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')),

partition p_5 values less than(maxvalue)

);

--單獨新增分割槽

alter table test_partition add partition p_new values less than (to_date('2020-11-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss'))

tablespace ly1

pctfree 10

initrans 1

maxtrans 255

storage

(initial 64k

next 1m

minextents 1

maxextents unlimited

)

2.  hash分割槽

3.  list分割槽

4.組合分割槽

自動建立表分割槽

create or replace package body pkg autopartition is author created purpose 自動建立分割槽表 procedure pro add partition asv table name varchar2 50 表名 v partit...

Oracle建立表空間 表分割槽

建立表分割槽 create tablespace ts demo datafile oracle2 oracle datafile xltsdemo.dbf size 500m 初始大小 autoextend on 可以自動擴充套件 next 50m 一次擴充套件50m maxsize unlimi...

Oracle 建立分割槽表

建立表空間 create tablespace mytablespace 1 datafile c oracle product 10.1.0 oradata mydata mytablespace1.dbf size 100m extent management local uniform siz...