Redshift自动表优化和表交换

0

【以下的问题经过翻译处理】 客户每晚更换表格。

例如,昨晚构建的table_1。那么今晚:

  • 建立table_1_tmp
  • 将table_1重命名为table_1_stale
  • 将table_1_tmp重命名为table_1
  • 删除table_1_stale

客户想知道,博客(https://aws.amazon.com/blogs/big-data/optimizing-tables-in-amazon-redshift-using-automatic-table-optimization/)中讨论到的新的“自动表优化”在为优化建议收集数据时,是否能够识别到表格交换过程。

它是按表名还是按唯一表标识符进行操作的?

profile picture
专家
已提问 5 个月前6 查看次数
1 回答
0

【以下的回答经过翻译处理】 Redshift自动表优化(ATO)使用内部的“table_id”标识符。因此,在交换后,ATO不会识别新表,并且不会自动应用之前的优化。当然,并非所有东西都会丢失。可以通过使用“create table table_1_tmp(like table_1)”来创建新的table_1_tmp表。但是,为了确保ATO继续在新表上工作,也要执行“ALTER TABLE table_1_tmp ALTER DISTSTYLE /SORTKEY AUTO”。

更多详细信息。Redshift自动表优化(ATO)使用与Redshift Advisor相同的机制进行排序和分发键建议。使用ATO,所有建议都记录在SVV_ALTER_TABLE_RECOMMENDATIONS系统表中。如果仔细查看其DDL:https://docs.aws.amazon.com/redshift/latest/dg/r_SVV_ALTER_TABLE_RECOMMENDATIONS.html,您会注意到它仅包含内部的“table_id”,而不是“table_name”。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则