全部產品
Search
文件中心

PolarDB:截斷分區

更新時間:Aug 23, 2024

與截斷表的操作類似,PolarDB PostgreSQL版(相容Oracle)可以指定一個分區進行截斷。本文介紹了其文法及樣本。

文法說明

ALTER TABLE <table_name> TRUNCATE PARTITION <partition_name>;
ALTER TABLE <table_name> TRUNCATE SUBPARTITION <subpartition_name>;

使用以上TRUNCATE文法可以快速刪除一組表中的所有行。它與每個表上的非限定DELETE具有相同的效果,但由於它實際上並不掃描表,因此速度更快。

此外,使用TRUNCATE文法刪除行後,會立即回收磁碟空間,因此不需要後續的VACUUM操作。

樣本

對p1分區進行截斷:

CREATE TABLE hash_partitions_sales (deptno NUMBER, deptname VARCHAR(32))
     PARTITION BY HASH(deptno)
       (PARTITION p1 , PARTITION p2 ,
        PARTITION p3 , PARTITION p4 , PARTITION p5);

ALTER TABLE hash_partitions_sales TRUNCATE PARTITION p1 ;