與截斷表的操作類似,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 ;
文檔內容是否對您有幫助?