使用自动列式处理管理列存储区内容

本页面介绍了如何使用自动列式处理管理列式引擎的列存储区的内容。

通过使用自动列式处理,列式引擎会自动对列存储区中的数据进行列式处理,并提高混合事务和分析处理 (HTAP) 以及在线分析处理 (OLAP) 工作负载的整体性能。

列式引擎会对应用工作负载进行采样并分析查询,以确定哪些列适合作为候选项包含在列存储区中。它还会在考虑当前列存储区内存大小后,自动将列填充到可提供最佳性能提升的列存储区中。

默认情况下,新实例会启用自动列式处理,并配置为每小时向列存储区建议并填充列一次。您可以立即运行自动列式处理,也可以将每小时的默认时间表更改为所需的时间间隔,以运行自动列式处理。

当实例重启时,列式引擎会清除之前建议并填充的列,并重启自动列式处理。

自动列式处理建议列后,您可以通过查看建议列来查看建议的结果。

立即运行自动列式处理

您可以在默认时间表生效之前立即运行自动列式处理。

如需立即运行自动列式处理,请执行以下操作:

psql 客户端

SELECT google_columnar_engine_recommend();

更改自动列式处理的默认时间表

如需更改实例的默认时间表以运行自动列式处理,请将该实例的 google_columnar_engine.auto_columnarization_schedule 标志设置为新的时间间隔。

该标志采用值 EVERY NUMBER {HOURS|DAYS}。例如 EVERY 12 HOURSEVERY 2 DAYS

如需详细了解如何设置数据库标志,请参阅配置实例的数据库标志

您可以查看建议列的大小、建议列的列表和建议时间表的相关信息。

如需查看建议列的列表,请执行以下操作:

psql 客户端

SELECT database_name, schema_name, relation_name, column_name FROM g_columnar_recommended_columns;

如需查看列建议时间表,请执行以下操作:

psql 客户端

SELECT * FROM g_columnar_schedules;

重置自动列式处理和移除建议列

您可以重置自动列式处理,包括它为生成建议而收集的所有数据。

这会移除通过自动列式处理自动添加到列存储区中的列。

如需重置自动列式处理,请执行以下操作:

psql 客户端

SELECT google_columnar_engine_reset_recommendation(drop_columns => true);

建议列存储区内存大小

列式引擎可根据您的工作负载,建议最佳的列存储区内存大小以及列的列表,以提供最高的性能提升。

您可以根据建议更新 google_columnar_engine.memory_size_in_mb

如需为列存储区建议内存大小,请执行以下操作:

psql 客户端

SELECT * FROM google_columnar_engine_recommend(mode => 'RECOMMEND_SIZE');

停用自动列式处理

如需在主实例或读取池实例上停用自动列式处理,请将实例的 google_columnar_engine.enable_auto_columnarization 标志设置为 off

如需详细了解如何设置数据库标志,请参阅配置实例的数据库标志