本节提供 Advisor
CALL
语句示例,您可以在创建自己的语句时参考这些示例。
示例可以指定模式、列、连接 ID 和其他在您的 HeatWave 实例上不存在的对象。必须修改此类示例以使用您的数据。
-
要查看 Advisor 命令行帮助:
CALL sys.heatwave_advisor(JSON_OBJECT("output","help"));
命令行帮助提供 Advisor 的使用文档。
-
运行自动编码以生成
tpch
架构的字符串列编码建议:CALL sys.heatwave_advisor(JSON_OBJECT("target_schema",JSON_ARRAY("tpch"), "auto_enc",JSON_OBJECT("mode","recommend")));
-
使用选项运行自动编码
fixed_enc
以强制对tpch.CUSTOMER.C_ADDRESS
列进行可变长度编码。fixed_enc
自动编码功能不考虑由 该选项指定的列。CALL sys.heatwave_advisor(JSON_OBJECT("target_schema",JSON_ARRAY("tpch"), "auto_enc",JSON_OBJECT("mode","recommend","fixed_enc", JSON_OBJECT("tpch.CUSTOMER.C_ADDRESS","varlen"))));
-
在没有任何选项的情况下调用 Advisor 会使用默认选项设置运行 Data Placement Advisor。
CALL sys.heatwave_advisor(NULL);
-
Running Advisor with only
target_schema
选项使用默认选项设置在指定模式上运行 Data Placement Advisor。CALL sys.heatwave_advisor(JSON_OBJECT("target_schema",JSON_ARRAY("tpch","employees")));
-
使用数据放置
max_combinations
和benefit_threshold
参数运行 Advisor。有关这些选项的信息,请参阅 自动数据放置语法。CALL sys.heatwave_advisor(JSON_OBJECT("auto_dp",JSON_OBJECT("max_combinations",100, "benefit_threshold",20)));
-
以下示例显示如何通过查询
performance_schema.rpd_query_stats
表来查看 HeatWave 查询历史记录,以及如何使用exclude_query
选项从 Data Placement Advisor 分析中排除特定查询:SELECT query_id, LEFT(query_text,160) FROM performance_schema.rpd_query_stats; CALL sys.heatwave_advisor(JSON_OBJECT("target_schema",JSON_ARRAY("tpch"), "exclude_query",JSON_ARRAY(1,11,12,14)));
-
此示例演示如何使用变量中指定的选项调用 Data Placement Advisor:
SET @options = JSON_OBJECT( "target_schema", JSON_ARRAY("analytics45","sample_schema"), "exclude_query", JSON_ARRAY(12,24), "auto_dp", JSON_OBJECT( "benefit_threshold", 12.5, "max_combinations", 100 )); CALL sys.heatwave_advisor( @options );
-
此示例演示如何在静默输出模式下调用 Advisor,这在输出由脚本使用等情况下非常有用。
auto_enc
如果没有指定或 之类的选项,则默认情况下会运行自动数据放置query_insights
。CALL sys.heatwave_advisor(JSON_OBJECT("output","silent"));
-
要查看特定模式的 HeatWave 查询历史记录中所有查询的运行时数据:
CALL sys.heatwave_advisor(JSON_OBJECT("target_schema",JSON_ARRAY("tpch"), "query_insights",TRUE));
-
要查看当前会话发出的查询的运行时数据:
CALL sys.heatwave_advisor(JSON_OBJECT("query_insights",TRUE, "query_session_id", JSON_ARRAY(connection_id())));
-
查看特定会话发出的查询的运行时数据:
CALL sys.heatwave_advisor(JSON_OBJECT("query_insights", TRUE, "query_session_id", JSON_ARRAY(8)));
-
此示例演示如何在静默输出模式下调用 Query Insights Advisor,这在输出由脚本使用等情况下非常有用。
CALL sys.heatwave_advisor(JSON_OBJECT("query_insights",TRUE,"output","silent"));