数据仓库服务 GAUSSDB(DWS)-VACUUM:参数说明

时间:2024-09-24 15:54:40

参数说明

  • FULL

    选择“FULL”清理,这样可以恢复更多的空间,但是需要耗时更多,并且在表上施加了排他锁。

    FULL选项还可以带有COMPACT参数,该参数只针对HDFS表,指定该参数的VACUUM FULL操作性能要好于未指定该参数的VACUUM FULL操作。

    COMPACT和PARTITION参数不能同时使用。

    使用FULL参数会导致统计信息丢失,如果需要收集统计信息,请在VACUUM FULL语句中加上analyze关键字。

  • FREEZE

    指定FREEZE相当于执行VACUUM时将vacuum_freeze_min_age参数设为0。

  • VERBOSE

    为每个表打印一份详细的清理工作报告。

  • ANALYZE | ANALYSE

    更新用于优化器的统计信息,以决定执行查询的最有效方法。

  • table_name

    要清理的表的名称(可以有模式修饰)。

    取值范围:要清理的表的名称。缺省时为当前数据库中的所有表。

  • column_name

    要分析的具体的字段名称。

    取值范围:要分析的具体的字段名称。缺省时为所有字段。

  • PARTITION

    HDFS表不支持PARTITION参数,PARTITION参数不能和COMPACT同时使用。

    PARTITION参数和COMPACT同时使用会报错:COMPACT can not be used with PARTITION.

  • partition_name

    要清理的表的分区名称。缺省时为所有分区。

  • DELTAMERGE

    只针对HDFS表和列存表,将HDFS表或者列存表的delta table中的数据转移到主表存储上。对HDFS表而言,当delta表中数据量小于六万行,则不作迁移,只有在大于或者等于六万行数据时,将delta表中所有数据迁移到HDFS上,并通过truncate清理delta表的存储空间。对列存表而言,此操作总是会将delta表中的数据全部转移到CU中。

    为了检查列存delta表中的信息(HDFS表的delta表数据可以通过explain analyze查到),提供下述DFX函数,用于获取某个列存表的delta表中数据存储情况:

    • pgxc_get_delta_info(TEXT),传入参数为列存表名,搜集并显示各个节点上的对应delta表信息,包括当前存活tuple数量、表大小、使用的最大block ID。
    • get_delta_info(TEXT),传入参数为列存表名,汇总pgxc_get_delta_info得到的结果,返回其delta表整体的当前存活tuple数量、表大小、使用的最大block ID。查询临时表delta信息时,需要显示指定临时表的schema,否则会报错找不到表。
  • HDFSDIRECTORY

    只针对HDFS表,删除HDFS表在HDFS存储上表目录下的空值分区目录。

support.huaweicloud.com/sqlreference-910-dws/dws_06_0226.html