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
エキスパート
質問済み 6ヶ月前8ビュー
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
エキスパート
回答済み 6ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン