作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在带有RESULT_CACHE的函数中有一个查询。
因此,当更改表时-我的缓存无效,功能再次执行。
我想要的是实现仅依赖依赖于输入参数的函数,并且不依赖于任何隐式依赖项(例如表等)。
是否有可能(没有动态sql)?
最佳答案
可以将仅依赖于其参数的函数声明为DETERMINISTIC。在某些情况下,此功能的结果将被缓存。此thread on the OTN forums显示如何将确定性函数结果缓存在SQL语句中。
从10gR2开始,该函数结果既不会在SQL语句之间进行缓存,也不会在PL/SQL中进行缓存。不过,如果您在SELECT中调用某个函数而该函数可能会被调用很多时间,则此缓存功能还是很有用的。
我现在没有可用的11gR2实例,因此我无法测试RESULT_CACHE功能,但是您是否考虑过依赖固定的伪表(例如,从未更新过的表)来释放函数?
关于oracle - RESULT_CACHE为空的RELIES_ON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5826778/
为什么每次我更改 session 以设置新的 NLS_DATE_FORMAT 时,下面的函数不返回新的参数值 FUNCTION get_param(p_parameter IN VARCHAR2)
我是一名优秀的程序员,十分优秀!