截断分区

更新时间:2023-12-19 06:42:32

与截断表的操作类似,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 ;

  • 本页导读 (1)
  • 语法说明
  • 示例
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等