Snowflake 中的结果缓存非常有用。
我尝试的一个用例是在数据仓库中批量加载后运行用户的查询,以便缓存结果。并且在 2-3 小时后,当业务用户使用最小的仓库运行相同的查询时,数据将从缓存中返回。
但我需要了解结果缓存的卷容量是多少。我们能否知道结果缓存可以存储多少行。
假设用户查询拉取了一百万行。雪花将所有的百万行存储在结果缓存中。或者说 1 亿行。
一旦容量被破坏,数据将存储在哪里。我们如何知道容量以及何时被破坏
答案 0 :(得分:1)
结果集缓存的大小没有实际限制。时间限制是自上次使用结果集以来的 24 小时:
<块引用>每次重复使用查询的持久结果时,Snowflake 都会重置 结果的 24 小时保留期,最多 31 从第一次执行查询的日期和时间算起的天数。后 31 天,结果被清除,下次查询是 提交,一个新的结果被生成并持久化。
https://docs.snowflake.com/en/user-guide/querying-persisted-results.html
一些额外的注意事项:
select * from table(result_scan('019caf93-0500...'));