【问题标题】:Amazon Redshift VACUUM was not successfulAmazon Redshift VACUUM 不成功
【发布时间】:2017-08-22 23:38:24
【问题描述】:

我的表有 17500000 行,

我删除了 50 万行。删除后,我运行了vacuum命令。

根据SVV_VACUUM_SUMMARY,row_delta是vacuum前后表格总行数之差。

但是当我看到SVV_VACUUM_SUMMARY表时,row_delta是0,不应该是500K吗?

这也是STL_VACUUM 表的输出:

状态行排序

开始 17500000 813055

完成17500000 17500000

这是否意味着 Vacuum 不成功,因为完成的行与启动时相同?

SVV_VACUUM_PROGRESS 的状态也为表的完成。所以想确认一下是否成功。

并检查SVV_TABLE_INFO 我的表和tbl_rows 有17500000。我不知道应该做什么,因为我认为tbl_rows 应该是17000000,因为真空操作成功了。

任何帮助将不胜感激。

【问题讨论】:

  • 您是否尝试设置阈值? VACUUM DELETE ONLY TO 100 PERCENT
  • 你在VACUUM之后跑过ANALYZE吗?
  • @Ravi 我将 table_name 真空吸到 100%
  • @Alex是的,我没有。我应该吗?
  • @ChiragSejpal 尝试这样做,可能是 svv_table_info 依赖于过时的表统计信息。请让我知道这是否有效

标签: amazon-web-services amazon-redshift vacuum


【解决方案1】:

您可以使用视图svv_table_info 来确认表是否被正确清空。

如果由于某种原因,运行 VACUUM my_table TO 100 PERCENT 不会导致 svv_table_info 中的 unsorted 值发生变化,则需要 perform a deep copy

【讨论】:

  • 我确实在运行真空后检查了 svv_table_info,正如我的问题中所发布的那样。但是没有用。但是,将vacuum table_name 运行到100%;再次似乎有工作,它将 unsorted 更改为 0,并且 svv_vacuum_summary 中的 row_delta 现在是 -500K。
猜你喜欢
  • 2018-04-23
  • 1970-01-01
  • 2014-09-06
  • 2017-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-19
相关资源
最近更新 更多