【问题标题】:Is there a way to figure out the tables a snowflake query is accessing?有没有办法找出雪花查询正在访问的表?
【发布时间】:2020-05-27 01:54:09
【问题描述】:

我查看了 SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY 表,但它提供的信息是数据库名称。雪花中有没有办法获取查询正在访问的表名?我不是在寻找涉及解析查询字符串的解决方案,因为这真的很复杂。

【问题讨论】:

标签: snowflake-cloud-data-platform


【解决方案1】:

要查看历史查询访问了哪些表,您可以转到“历史记录”选项卡,单击该查询的查询 ID,然后单击配置文件。对于您将要运行的查询,您可以通过在查询前键入“解释”来查看它将访问哪些表。这将生成一个元数据结果集,其中包含查询将从中读取的表列表以及其他信息。

编辑:如果解释产生了一个很长的结果集,并且您想将其过滤到仅受影响的表,您可以执行以下操作:

-- Generate the explain metadata reult set
explain select * from MY_VIEW;

-- Filter to just affected tables
select distinct "objects" as TABLE_NAME
from table(result_scan(last_query_id())) 
where "operation" ilike '%table%' and "objects" is not null;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多