语义模型更改如何影响查询高速缓存

使用语义建模器或模型管理工具修改语义模型时,所做更改可能会对存储在高速缓存中的条目产生影响。例如,如果更改物理对象或动态语义模型变量的定义,则引用相应对象或变量的高速缓存条目可能不再有效。这些更改可能会导致需要清除高速缓存。要注意下面两种情况:修改现有语义模型时,创建(或上载)新语义模型时。

语义模型更改

修改语义模型或上载不同的 .rpd 文件时,如果所做的任何更改影响高速缓存条目,则会自动清除引用所更改对象的所有高速缓存条目。上载更改时会进行清除。例如,如果从语义模型中删除物理表,则会在检入时清除引用该表的所有高速缓存条目。在逻辑层对语义模型所做的任何更改都会导致清除该语义模型的所有高速缓存条目。

全局语义模型变量的更改

全局语义模型变量的值将由从查询返回的数据进行刷新。定义全局语义模型变量时,将创建初始化块或使用包含 SQL 查询的先前存在的初始化块。此外,还将配置运行查询和定期刷新变量值的调度。

如果全局语义模型变量值发生更改,则在列中使用此变量的任何高速缓存条目都将变为过时,再次需要相应条目中的数据时,将生成新的高速缓存条目。旧高速缓存条目不会立即删除,而是一直保留到通过常用高速缓存机制将其清除为止。