2017-08-22 37 views
0

我的表有17500000行,Amazon Redshift VACUUM不成功

我删除了500k行。删除后,我运行了vacuum命令。

根据SVV_VACUUM_SUMMARY,row_delta是真空前后表格总数的差异。

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

而且,这里是从STL_VACUUM表输出:

状态行sortedrows

开始1750 813055

成品1750 1750

这是否意味着真空不成功的完成的行与启动时相同?

另外SVV_VACUUM_PROGRESS对表格具有完整的状态。所以要确认它是否成功。

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

任何帮助,将不胜感激。

+0

您是否尝试设置阈值? 'VACUUM DELETE ONLY to 100 PERCENT' – Ravi

+0

你在'VACUUM'之后跑过'ANALYZE'吗? – AlexYes

+0

@Ravi我真空table_name到100% –

回答

2

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

如果由于某种原因运行VACUUM my_table TO 100 PERCENT不会导致svv_table_infounsorted值的更改,您将需要perform a deep copy

+0

我在我的问题中发布真空后检查了svv_table_info。但没有奏效。但是,真空table_name运行到100%;再次似乎有工作,它将未排序更改为0,并且svv_vacuum_summary中的row_delta现在为-500K。 –