You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Snowflake中如何手动复现缓存缺失场景?能否删除特定查询缓存?

Snowflake缓存缺失场景复现与相关问题解答

1. 能否手动删除特定Query ID的缓存?

Snowflake目前不支持管理员手动删除单个Query ID对应的缓存结果。查询持久化结果的生命周期由Snowflake内部机制管控,默认最长保留14天(部分账户可能因配置不同有所差异),到期后会自动清理,无法手动干预单条缓存的删除。

2. 快速复现缓存缺失报错的方法

不用等14天,两种快捷模拟方式:

  • 方法一:修改底层表数据
    1. 执行任意查询(比如SELECT * FROM your_test_table LIMIT 5;),记录返回的Query ID。
    2. 对该查询关联的表做数据变更(插入/删除/更新任意一条数据)。
    3. 调用RESULT_SCAN查询原Query ID:SELECT * FROM TABLE(RESULT_SCAN('<原Query ID>'));,此时会触发缓存缺失报错。
  • 方法二:使用临时表
    1. 创建临时表并插入数据:CREATE TEMP TABLE temp_test (id INT); INSERT INTO temp_test VALUES (1);
    2. 执行查询并记录Query ID:SELECT * FROM temp_test;
    3. 删除临时表:DROP TABLE temp_test;
    4. 再次调用RESULT_SCAN查询原Query ID,即可触发缓存缺失报错。

3. 缓存缺失的错误提示

当目标Query ID的持久化结果已失效或不存在时,Snowflake返回的错误信息为:

SQL compilation error: Query '' does not have a result set available for scanning. The result set may have expired, or the query may not have produced a result set.

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 12:59:55