snow / sql查询中有什么方法可以查看查询最多的表以及哪些列?我想知道什么数据对我的用户最有价值,并且不确定如何以编程方式进行。任何想法都很感激-谢谢!
答案 0 :(得分:0)
我发现的最好的(暂时):
SELECT *, "objects"
FROM TABLE(EXPLAIN_JSON(SYSTEM$EXPLAIN_PLAN_JSON('SELECT * FROM a.b.any_table_or_view')))
WHERE "operation"='TableScan'
select QUERY_TEXT
from table(information_schema.query_history())
自然而然的下一步是将两者结合在一起-但这并不简单,因为您会看到类似以下的错误:
SQL compilation error: argument 1 to function EXPLAIN_JSON needs to be constant, found 'SYSTEM$EXPLAIN_PLAN_JSON('SELECT * FROM a.b.c')'
解决方案是将来自query_history()
的查询与外部SYSTEM$EXPLAIN_PLAN_JSON
的查询合并(以使字符串恒定),然后便可以找出查询最多的表。