2.7.3.4 顾问示例

本节提供 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_combinationsbenefit_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"));