真空吸收Redshift交错排序键

时间:2016-06-24 09:02:03

标签: sql amazon-redshift vacuum

我有几个表,我已经添加了交错排序键,并使用copy命令批量加载大量数据。文档说明我们需要使用带有真空的Reindex选项来交错排序键。麻烦的是这个桌子的大小将永远占用。我知道其他排序键只使用"仅排序"选项会正常工作。文档中需要更清晰的是,使用仅排序选项的Vacuuming是否可以在具有交错排序键的表上正常工作。有人可以澄清这是否是一个可行的解决方案。

2 个答案:

答案 0 :(得分:0)

您的问题的答案将取决于您如何使用该表,因为不同类型的使用模式将在您的交错排序键上产生不同的碎片/稀缺问题。例如,如果您通常删除表中的所有行并重新插入它们,那么您的需求将与仅添加新行的用户完全不同,并且始终按排序键顺序排列。

您能否提供有关使用模式的其他信息?

答案 1 :(得分:0)

使用交错排序键,您需要执行VACUUM REINDEX,这需要比正常VACUUM更长的时间。在这种情况下,我认为VACUUM SORT ONLY实际上不会起作用。

来自documentation

  

分析交错排序键列中值的分布,然后执行完整的VACUUM操作。 VACUUM REINDEX比VACUUM FULL花费更长的时间,因为它会分析交错的排序键。对于交错表,排序和合并操作可能需要更长的时间,因为交错排序可能需要重新排列比复合排序更多的行。

     

如果VACUUM REINDEX操作在完成之前终止,则下一个VACUUM将在执行完全真空操作之前恢复reindex操作。

     

TO阈值PERCENT不支持VACUUM REINDEX。