如何通过 SQL 访问雪花查询配置文件概览统计信息?

Gan*_*sek 8 snowflake-cloud-data-platform

在 Snowflake SnowSight UI 的“查询配置文件”视图中,有一个名为“配置文件概述”的部分,您可以在其中查看总执行时间的细分。它包含处理、本地磁盘 I/O、远程磁盘 I/O、同步等统计信息。

简介概述

完整列表在这里 https://docs.snowflake.com/en/user-guide/ui-snowsight-activity.html#profile-overview

我想以编程方式访问这些统计信息,而不必导航到我想要分析的每个查询的该部分。我知道提供查询统计信息的唯一系统视图是 QUERY_HISTORY,但它不包含这些统计信息。

https://docs.snowflake.com/en/sql-reference/account-usage/query_history.html

问题是,我可以在任何系统视图中获取这些统计信息吗?如果是的话,在哪里以及如何进行?

Luk*_*zda 3

可以使用GET_QUERY_OPERATOR_STATS以编程方式访问查询配置文件

\n
\n

返回有关查询中各个查询运算符的统计信息。您可以对过去 14 天内执行的任何查询运行此函数。

\n

例如,您可以使用此信息来确定哪些运算符消耗的资源最多。作为另一个示例,您可以使用此函数来识别输出行多于输入行的连接,这可能是 \xe2\x80\x9cexploding\xe2\x80\x9d 连接的标志(例如,意外的笛卡尔积)。

\n

这些统计信息也可以在 Snowsight 的查询配置文件选项卡中找到。该GET_QUERY_OPERATOR_STATS()函数通过编程接口提供相同的信息。

\n

GET_QUERY_OPERATOR_STATS 函数是一个表函数。它返回包含有关查询中每个查询运算符的统计信息的行

\n
\n
set query_id = \'<query_ud>\';\n\nselect *\nfrom table(get_query_operator_stats($query_id));\n
Run Code Online (Sandbox Code Playgroud)\n