文档首页/ 数据仓库服务 GaussDB(DWS)/ 故障排除/ 集群性能/ 列存表更新失败或多次更新后出现表膨胀
更新时间:2024-11-01 GMT+08:00

列存表更新失败或多次更新后出现表膨胀

问题现象

  • 对列存表更新或UPDATE会失败。
  • 多次对列存表UPDATE,发现表大小膨胀了十多倍。

原因分析

  • 列存表不支持并发更新。
  • 列存表的更新操作,空间不会回收旧记录。

处理方法

  • 方法一

该处理方法仅8.1.3及以上集群版本支持。

  1. 登录GaussDB(DWS) 管理控制台。
  2. 在集群列表中单击指定集群名称。
  3. 进入“集群详情”页面,切换至“智能运维”页签。
  4. 在运维详情部分切换至运维计划模块。单击“添加运维任务”按钮。

  5. 弹出添加运维任务边栏。

    • 运维任务选择“Vacuum”。
    • 调度模式选择“指定目标”,智能运维将在指定时间窗内,自动下发表级Vacuum任务。

      用户可配置需要Vacuum的列存表,其中一行对应一张表,每张表以数据库名、模式名、表名表示,以空格进行分割。

  6. 单击“下一步:定时配置”,配置Vacuum类型,推荐选择“周期型任务”,GaussDB(DWS)将自动在自定义时间窗内执行Vacuum。

  7. 确认无误后,单击“下一步:配置确认”,完成配置。
  • 方法二

对列存表更新操作后,需要进行VACUUM FULL清理,更多用法请参见VACUUM的“VACUUM”章节。

1
VACUUM FULL table_name;