全面學習分割槽表及分割槽索引(14)--截斷、移動和重新命名
1、截斷表分割槽(Truncate Partition)
Truncate partition就像truncate table一樣,直接從頭部截斷資料,用來刪除資料那是效率超高無比。但是如果該表有外來鍵引用的話,ddl的truncate就不好使了,這時候你只能要麼使用delete,要麼先disable掉外來鍵關聯再truncate了。同樣,在不指定update indexes子句的情況下,truncate partition也會造成分割槽所在表的global索引失效。
語法非常簡單:alter table tbname truncate partition/subpartition ptname;
例如:
JSSWEB> select *from t_partition_range partition(t_range_p1);
ID NAME
---------- --------------------
11 a
12 b
13 c
JSSWEB> alter table t_partition_range truncate partition t_range_p1;
表被截斷。
JSSWEB> select *from t_partition_range partition(t_range_p1);
未選定行
2、移動表分割槽(Move Partition)
Move partition與modify partition的功能相似,但又比之更加強勁,比如可以修改分割槽所在表空間等等,與move table的操作很類似,某些時間也非常有用,比如降低行遷移。語法很簡單:
Alter table tbname move partition/subpartition ptname .....;
例如:
JSSWEB> select partition_name,tablespace_name from user_tab_partitions
2 where table_name='T_PARTITION_RANGE';
PARTITION_NAME TABLESPACE_NAME
-------------------- ---------------
T_RANGE_P3 TBSPART03
T_RANGE_PMAX TBSPART04
T_RANGE_P1 WEBTBS
JSSWEB> alter table t_partition_range move partition t_range_p1 tablespace tbspart02;
表已更改。
JSSWEB> select partition_name,tablespace_name from user_tab_partitions
2 where table_name='T_PARTITION_RANGE';
PARTITION_NAME TABLESPACE_NAME
-------------------- ---------------
T_RANGE_P3 TBSPART03
T_RANGE_PMAX TBSPART04
T_RANGE_P1 TBSPART02
提示:move partition/subpartiton時會鎖表,並且move partition/subpartiton視被移動分割槽中資料量的多少,會帶來相應的IO操作。同時還需要注意,如果在move partition/subpartiton時沒有指定update indexes子句,則被移動分割槽所在的local索引以及全域性索引都會失效,需要手工rebuilding。
3、重新命名錶分割槽(Rename Partition)
就是改名,跟改表名、改列名的操作目的是類似的,語法也很簡單:
Alter table tbname rename partition ptname to newptname;
舉個例子:
JSSWEB> select partition_name from user_tab_partitions where table_name='T_PARTITION_RANGE';
PARTITION_NAME
--------------------
T_RANGE_P3
T_RANGE_PMAX
T_RANGE_PNEW
JSSWEB> alter table t_partition_range rename partition t_range_pnew to t_range_p1;
表已更改。
JSSWEB> select partition_name from user_tab_partitions where table_name='T_PARTITION_RANGE';
PARTITION_NAME
--------------------
T_RANGE_P3
T_RANGE_PMAX
T_RANGE_P1
=====================================
檢視前面的連載:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-321791/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 全面學習分割槽表及分割槽索引(13)--分隔表分割槽索引
- 全面學習分割槽表及分割槽索引(10)--交換分割槽索引
- 全面學習分割槽表及分割槽索引(1)索引
- 全面學習分割槽表及分割槽索引(16)--增加和刪除索引分割槽索引
- 全面學習分割槽表及分割槽索引(8)--增加和收縮表分割槽索引
- 全面學習分割槽表及分割槽索引(9)--刪除表分割槽索引
- 全面學習分割槽表及分割槽索引(11)--合併表分割槽索引
- 全面學習分割槽表及分割槽索引(12)--修改list表分割槽索引
- 全面學習分割槽表及分割槽索引(17)--其它索引分割槽管理操作索引
- 全面學習分割槽表及分割槽索引(15)--修改表分割槽屬性和模板索引
- 全面學習分割槽表及分割槽索引(7)--怎樣管理索引
- 全面學習分割槽表及分割槽索引(6)--建立range-list組合分割槽索引
- 全面學習分割槽表及分割槽索引(7)--怎樣管理(續)索引
- 深入學習Oracle分割槽表及分割槽索引Oracle索引
- 深入學習分割槽表及分割槽索引(1)索引
- 全面認識oracle分割槽表及分割槽索引Oracle索引
- 【學習筆記】分割槽表和分割槽索引——管理索引分割槽(四)筆記索引
- 【三思筆記】 全面學習Oracle分割槽表及分割槽索引筆記Oracle索引
- 學習筆記】分割槽表和分割槽索引——新增表分割槽(二)筆記索引
- Oracle分割槽表及分割槽索引Oracle索引
- 【學習筆記】分割槽表和分割槽索引——分割槽表的其他管理(三)筆記索引
- 自動備份、截斷分割槽表分割槽資料
- 分割槽表及分割槽索引建立示例索引
- 【學習筆記】分割槽表和分割槽索引——概念部分(一)筆記索引
- 深入學習分割槽表及分割槽索引(5)--建立range-hash組合分割槽(續)索引
- 【實驗】【PARTITION】RANGE分割槽表截斷表分割槽(Truncate Partition)
- 分割槽表、分割槽索引和全域性索引部分總結索引
- 簡單ORACLE分割槽表、分割槽索引Oracle索引
- rebuild分割槽表分割槽索引的方法Rebuild索引
- 分割槽表分割槽索引查詢效率探究索引
- 如何查詢分割槽表的分割槽及子分割槽
- 關於分割槽表和分割槽索引(About Partitioned Tables and Indexes)索引Index
- oracle分割槽表和分割槽表exchangeOracle
- 【實驗】【PARTITION】RANGE分割槽表移動表分割槽(Move Partition)
- oracle分割槽partition及分割槽索引partition index(一)Oracle索引Index
- partition 分割槽表重新命名
- 全域性分割槽索引和區域性分割槽索引索引
- 分割槽索引學習筆記索引筆記