我查询了SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY表,但它提供的信息是数据库名称。雪花中是否有办法获取查询正在访问的表名?我不是在寻找涉及解析查询字符串的解决方案,因为这确实很复杂。
答案 0 :(得分:0)
要查看历史查询访问了哪些表,可以转到“历史记录”选项卡,单击查询的查询ID,然后单击配置文件。对于将要运行的查询,可以通过在查询之前键入“ explain”来查看它将访问的表。这将产生一个元数据结果集,其中除了其他信息外,还包含查询将要读取的表的列表。
编辑:如果注释产生一个非常长的结果集,并且您希望将其过滤为仅受影响的表,则可以执行以下操作:
-- 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;