【问题标题】:How can I see the processing performance details for Snowflake queries within a stored procedure如何在存储过程中查看 Snowflake 查询的处理性能详细信息
【发布时间】:2022-01-05 18:08:31
【问题描述】:

我们在 Snowflake 下的大部分处理都使用存储过程。

使用新旧(Snowsight)界面的历史记录功能,我可以看到有关程序执行的一定数量的详细信息,但我似乎看不到查询计划的详细信息...

特别是,我想查看读取或修剪的微分区数量,从缓存中读取的数据量等...

这可能吗?

【问题讨论】:

  • 存储过程运行的各个 SQL 语句在查询历史记录中都有自己的条目以及相关的查询计划和统计信息。您可以获取存储过程执行的会话 ID,并在查询历史记录中找到它运行的语句。
  • 即使我以 SYSADMIN 身份登录并删除用户名上的过滤器,我也看不到它们。它是否仅通过视图而不是 UI 可见?
  • 他们在那里,但可能由于特权而被过滤掉。检查是否存在问题的一种快速方法是将 UI 角色(不是工作表角色,而是原始 UI 右上角的角色)更改为 ACCOUNTADMIN(或要求具有该角色的人进行检查)。 SP 正在运行的语句将显示在那里。
  • 我以为我已经尝试过了,但我会再次检查。谢谢
  • @GregPavlik 如果您输入此作为答案,我将能够“接受”它。非常感谢

标签: snowflake-cloud-data-platform


【解决方案1】:

存储过程运行的各个 SQL 语句在查询历史记录中都有自己的条目以及相关的查询计划和统计信息。您可以获取存储过程执行的会话 ID,并在查询历史记录中找到它运行的语句

如果 SP 正在运行的语句未显示在 UI 的“查询历史记录”页面中,则这是权限问题。在原始 UI 中,右上角一直选择的角色控制着用户可以在“历史记录”选项卡中看到的查询。 ACCOUNTADMIN 角色可以查看所有查询。其他角色可以看到使用他们的角色或子角色运行的查询。

在原 UI 中有两个地方可以设置角色。一种是用于工作表并设置用于运行 SQL 语句的角色。一个是在上面的选项卡条上,设置用于执行所有非 SQL UI 活动的角色;这是用于控制在“查询历史记录”页面中可见哪些语句的设置。

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 1970-01-01
    • 2020-10-15
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2015-10-17
    相关资源
    最近更新 更多