Snowflake中的结果缓存非常有用。
我正在尝试的一个用例是在数据仓库中运行用户的查询post批加载,以便缓存结果。当2-3小时后,当业务用户运行相同的查询时,可能使用最小的仓库,数据将从缓存中返回。
但我需要了解结果缓存的容量是多少。我们能知道结果缓存可以存储多少行吗?
假设一个用户查询拉取了一百万行。Snowflake会在结果缓存中存储所有百万行吗?或者说是一亿行。
一旦容量被突破,数据将被存储在哪里。我们如何知道容量以及何时被攻破?
发布于 2021-06-04 04:01:05
对结果集缓存的大小没有实际限制。时间限制是指自上次使用结果集以来的24小时:
每次重复使用查询的持久化结果时,雪花都会重置结果的24小时保留期,最长为从第一次执行查询的日期和时间算起的31天。31天后,结果将被清除,下次提交查询时,将生成新的结果并将其持久化。
https://docs.snowflake.com/en/user-guide/querying-persisted-results.html
其他一些注意事项:
运行相同查询的
select * from table(result_scan('019caf93-0500...'));https://stackoverflow.com/questions/67826777
复制相似问题