启用、禁用和监控自动表优化 - Amazon Redshift

启用、禁用和监控自动表优化

预设情况下,未显式定义排序键或分配键时创建的表将设置为 AUTO。在创建表时,您还可以手动显式设置排序键或分配键。如果您设置了排序键或分配键,则不会自动管理该表。

启用自动表优化

要使现有表能够自动优化,请使用 ALTER 语句选项将表更改为 AUTO。您可以选择为排序键定义自动化,但不能为分配键定义自动化(反之亦然)。如果运行 ALTER 语句将表转换为自动表,则会保留现有的排序键和分配样式。

ALTER TABLE table_name ALTER SORTKEY AUTO;
ALTER TABLE table_name ALTER DISTSTYLE AUTO;

有关更多信息,请参阅 ALTER TABLE

最初,表没有分配键或排序键。分配样式设置为 EVENALL,具体取决于表格大小。随着表大小的增大,Amazon Redshift 会应用最佳分配键和排序键。在运行最少数量的查询之后,将在数小时内应用优化。确定排序键优化时,Amazon Redshift 会尝试在表扫描期间优化从磁盘读取的数据块。在确定分配样式优化时,Amazon Redshift 会尝试优化在集群节点之间传输的字节数。

从表中删除自动表优化

您可以从自动优化中删除表。从自动化中删除表包括选择排序键或分配样式。要更改分配样式,请指定特定的分配样式。

ALTER TABLE table_name ALTER DISTSTYLE EVEN;
ALTER TABLE table_name ALTER DISTSTYLE ALL;
ALTER TABLE table_name ALTER DISTSTYLE KEY DISTKEY c1;

要更改排序键,可以定义排序键或选择无。

ALTER TABLE table_name ALTER SORTKEY(c1, c2);
ALTER TABLE table_name ALTER SORTKEY NONE;

监控自动表优化

系统视图 SVV_ALTER_TABLE_RECOMMENDATIONS 记录了当前针对表的 Amazon Redshift Advisor 建议。此视图显示针对所有表的建议,包括为自动优化定义的建议和非为自动优化定义的建议。

要查看某张表是否定义为自动优化,请查询系统视图 SVV_TABLE_INFO。条目仅针对当前会话数据库中可见的表显示。每天两次将建议插入视图中,从创建集群后的数小时内开始。建议可用后,将在一小时内开始。在(Amazon Redshift 或您)应用建议后,该建议将不再显示在视图中。

系统视图 SVL_AUTO_WORKER_ACTION 显示了 Amazon Redshift 执行的所有操作的审计日志,以及表的先前状态。

系统视图 SVV_TABLE_INFO 列出了系统中的所有表,以及一个列,用于指示表的排序键和分配样式是否设置为 AUTO

有关这些系统视图的更多信息,请参阅系统监控(仅已预置)