Snowflake cloud data platform 如何在雪花中获取最频繁执行的查询

Snowflake cloud data platform 如何在雪花中获取最频繁执行的查询,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,想知道有没有更好的方法(经济高效的方法)来获得更频繁执行的查询?在雪花和它的计数?以及每次调用查询期间每个查询的运行时间 我知道根据上述要求,我们可以使用下面的内容获取一些细节,但不是全部。但这里是使用信息\u schema.query\u历史。我相信每次我们运行此查询时,它都会计入账单,而不像SNOWFLAKE.ACCOUNT\u USAGE.query\u HISTORY 请帮助我找到最具成本效益的解决方案,因为我们希望在最初几天内更多地运行该解决方案,以识别和优化长时间运行/更频繁的查询

想知道有没有更好的方法(经济高效的方法)来获得更频繁执行的查询?在雪花和它的计数?以及每次调用查询期间每个查询的运行时间

我知道根据上述要求,我们可以使用下面的内容获取一些细节,但不是全部。但这里是使用信息\u schema.query\u历史。我相信每次我们运行此查询时,它都会计入账单,而不像
SNOWFLAKE.ACCOUNT\u USAGE.query\u HISTORY

请帮助我找到最具成本效益的解决方案,因为我们希望在最初几天内更多地运行该解决方案,以识别和优化长时间运行/更频繁的查询

select hash(query_text), 
    query_text, 
    count(*), 
    avg(compilation_time), 
    avg(execution_time)
from table( information_schema.query_history(
                dateadd('hours', -1, current_timestamp() ), 
                current_timestamp() ) 
          )
group by 1, 2
order by 3 desc;

为什么要使用hash()函数?如果不考虑这一点,效率会更高。这是我目前知道的唯一方法。这是在snowflakes中识别相同sql语句的唯一方法。这里我想了解在snowflakes中运行的相同sql语句的计数。意图:在这里问这个问题不是为了优化我上面粘贴的给定查询。寻找其他最佳替代方法这样做。您将根据哈希和查询文本进行分组。我想Mike的意思是,你可以排除散列,只对查询文本进行分组,它也会做同样的事情。有没有办法让类似的查询在where谓词中以不同的值执行?原始帖子中的上述查询只会帮助获得相同查询的计数,而不会得到where谓词中具有不同值的相同查询的计数有人能帮我吗?我的目的是捕获使用不同变量值运行的类似查询?如果不考虑这一点,效率会更高。这是我目前知道的唯一方法。这是在snowflakes中识别相同sql语句的唯一方法。这里我想了解在snowflakes中运行的相同sql语句的计数。意图:在这里问这个问题不是为了优化我上面粘贴的给定查询。寻找其他最佳替代方法这样做。您将根据哈希和查询文本进行分组。我想Mike的意思是,你可以排除散列,只对查询文本进行分组,它也会做同样的事情。有没有办法让类似的查询在where谓词中以不同的值执行?原始帖子中的上述查询只会帮助获得相同查询的计数,而不会得到where谓词中具有不同值的相同查询的计数有人能帮我吗?我的目的是捕获使用不同变量值运行的类似查询。