雪花结果缓存

时间:2020-08-10 01:51:23

标签: caching snowflake-cloud-data-platform

我对结果缓存有疑问。在雪花文档之一中,给出了使用结果缓存的角色,即使用户不同,角色也必须相同。但是,当我尝试使用不同的角色和用户时,我仍然能够访问结果缓存,您能确认我的理解吗-可以访问对象的任何角色都可以重用结果缓存,尽管它并不相同。

我的实验:

已执行Role1的用户1-从emp中选择*;

具有Role2的用户2执行相同的查询-从emp中选择*;它使用了从缓存中获取的结果,而未使用虚拟仓库。

enter image description here

2 个答案:

答案 0 :(得分:1)

根据Snowflake文档https://docs.snowflake.com/en/user-guide/querying-persisted-results.html#retrieval-optimization,大多数查询要求访问结果缓存的角色必须有权访问产生结果缓存的所有基础数​​据。注意的一个例外是SHOW命令结果缓存只能使用相同的角色进行访问。这可能是您共享的文档中提到的异常的原因,尽管不清楚。

答案 1 :(得分:-1)

没有任何虚拟仓库就无法提供缓存。

我们需要计算(虚拟仓库/跨虚拟)以处理或将缓存的数据保存在本地磁盘中。

“这些可在虚拟仓库中使用,因此只要基础数据未更改,执行同一查询的系统上的任何其他用户都可以使用返回给一个用户的查询结果。”

了解更多信息link