架构:

ACCOUNT_USAGE

QUERY_INSIGHTS 视图

对于为 一个查询生成的每条见解,此 Account Usage 视图都会显示一个行。

列名称

类型

描述

start_time

TIMESTAMP_LTZ

查询的开始时间。

end_time

TIMESTAMP_LTZ

查询的结束时间。

total_elapsed_time

NUMBER

查询的总运行时间(以毫秒为单位)。

query_id

VARCHAR

内部/系统生成的 SQL 语句标识符。

query_hash

VARCHAR

根据规范化 SQL 文本计算的 哈希值

query_parameterized_hash

VARCHAR

根据参数化查询计算的 哈希值

warehouse_id

VARCHAR

已用数据库的内部/系统生成的标识符。

warehouse_name

VARCHAR

执行查询的仓库(如果有)。

insight_instance_id

NUMBER

见解的内部/系统生成的标识符。

insight_type_id

VARCHAR

见解类型 的标识符。

message

VARIANT

有关见解的结构化信息和详细信息。

suggestions

ARRAY

字符串数组,每个字符串都包含一项建议的见解操作。

is_opportunity

BOOLEAN

如果是 true,则见解包括提高查询性能的建议。例如:

  • 对于 ID QUERY_INSIGHT_NO_FILTER_ON_TOP_OF_TABLE_SCAN 类型的见解,本列包含 true,因为见解包含改能改进建议。

  • 对于 ID QUERY_INSIGHT_FILTER_WITH_CLUSTERING_KEY 类型的见解,此列包含 false,因为见解不包含性能改进建议。

insight_topic

VARCHAR

标识此见解检测到的性能影响类型的标签。

标签可以是以下其中一项:

  • TABLE_SCAN:有关表访问效率的见解。此标签适用于以下类型的见解:

    • QUERY_INSIGHT_NO_FILTER_ON_TOP_OF_TABLE_SCAN

    • QUERY_INSIGHT_INAPPLICABLE_FILTER_ON_TABLE_SCAN

    • QUERY_INSIGHT_UNSELECTIVE_FILTER

    • QUERY_INSIGHT_FILTER_WITH_CLUSTERING_KEY

    • QUERY_INSIGHT_SEARCH_OPTIMIZATION_USED

  • JOIN:有关查询中 JOIN 操作效率的见解。此标签适用于以下类型的见解:

    • QUERY_INSIGHT_JOIN_WITH_NO_JOIN_CONDITION

    • QUERY_INSIGHT_NESTED_EXPLODING_JOIN

    • QUERY_INSIGHT_EXPLODING_JOIN

  • WAREHOUSE:有关用于查询的仓库的见解。此标签适用于以下类型的见解:

    • QUERY_INSIGHT_REMOTE_SPILLAGE

使用说明

  • 视图的延迟时间最长可达 90 分钟。

示例

以下示例使用 ID 01bd3a9d-0910-8327-0000-09717704c032,返回有关查询的查询见解:

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE query_id = '01bd3a9d-0910-8327-0000-09717704c032';
Copy

以下示例会返回具有相同 参数化查询文本哈希值 的查询的查询见解。除了 SELECT 语句中指定的字面量之外,这些查询使用的 SELECT 语句完全相同。

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE query_parameterized_hash = '4bb66effc1a3c8b4e94a728f7caaa736';
Copy

以下示例返回有关过去一周内运行的查询的查询见解:

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()));
Copy

以下示例返回在过去一周内运行并且用时一个多小时才完成的查询的查询见解:

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()))
    AND total_duration > 3600000;
Copy

以下示例返回在过去一周内运行、用时一个多小时才完成并通过 ID 84412315 使用仓库的查询的查询见解:

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()))
    AND total_duration > 3600000
    AND warehouse_id = 84412315;
Copy
语言: 中文