诊断常见的动态表刷新问题¶
本主题介绍对未按预期刷新的动态表进行故障排除的解决方案:
由于动态表的使用限制,或者如果您没有必要的权限,某些操作可能会受到限制。有关更多信息,请参阅 动态表限制 和 动态表访问控制。
如果您遇到此处未列出的问题,请联系 Snowflake 支持部门。
问题 |
解决方案 |
---|---|
我的动态表使用的是完全刷新而不是增量刷新。 |
动态表的实际 刷新模式 在创建时确定,此后不可变。如果未显式指定,刷新模式默认为 要在不同的 Snowflake 版本中保持一致的行为,可在所有动态表上显式设置刷新模式。例如,如果您希望动态表仅以增量方式刷新,那么在创建动态表时应将刷新模式显式设置为 使用具有 必要权限 的角色,您可以使用以下方法之一验证刷新模式:
|
我的动态表的增量刷新很慢。 |
动态表的刷新性能依赖于对其处理的工作负载或数据的特定假设。 使用 Refresh History 查看方差或点异常值:
|
我的动态表正在运行空刷新,但我看到产生了成本。 |
当刷新与动态表引用的任何上游对象的更改相关联时,产生零净新行(即添加、更新或删除的行数为零)的刷新会消耗仓库资源。 例如,如果关联的虚拟仓库已暂停,且未识别出基础对象有任何更改,则不会恢复已暂停的虚拟仓库,也不会消耗任何 Credit。这称为 NO_DATA 刷新。相反,如果识别出更改,则会自动恢复虚拟仓库以处理更新,即使应用于动态表的净结果是零行,也将消耗仓库资源。 如果您看到产生成本,但您未对动态表进行任何更改,这可能是由于源表中的变更所致。您可以使用 Snowsight 中的 Refresh History 选项卡,检查是否已使用虚拟仓库 Credit:
有关更多信息,请参阅 了解动态表的成本。 |
我的动态表正在重新初始化。 |
由于以下原因之一,您的动态表可能正在重新初始化:
有关初始化的一般信息,请参阅 了解动态表初始化。 |