zer*_*kms 5 oracle oracle11g oracle11gr2
我在RESULT_CACHE函数内部有一个查询.
因此,当表更改时 - 我的缓存无效并再次执行函数.
我想要的是实现仅依赖于输入参数的函数,并且不依赖于任何隐式依赖(如表等).
是否可能(没有动态sql)?
Vin*_*rat 2
仅依赖于其参数的函数可以声明为 DETERMINISTIC。在某些情况下,该函数的结果将被缓存。OTN 论坛上的此主题展示了如何将确定性函数结果缓存在 SQL 语句中。
从 10gR2 开始,函数结果不会跨 SQL 语句进行缓存,也不会在 PL/SQL 中缓存。不过,如果您在 SELECT 中调用某个函数(该函数可能会被多次调用),则此缓存功能仍然很有用。
我现在没有可用的 11gR2 实例,因此我无法测试 RESULT_CACHE 功能,但是您是否考虑过依赖于固定虚拟表(例如永远不会更新的表)来声明您的函数?
归档时间:
14 年,4 月 前
查看次数:
1763 次
最近记录:
14 年,3 月 前