与截断表的操作类似,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 ;
文档内容是否对您有帮助?