RESULT_CACHE关键字是否会从Oracle中的函数返回更新的数据?

dev*_*ant 5 oracle function

我在视图的select查询中调用函数.View正在从表中读取记录,其中包含大约100万条记录.当我在函数中写入RESULT_CACHE关键字时,我会在几秒钟内得到输出.我怀疑当在视图中使用的任何列的值被更改时,函数会考虑新的值吗?

che*_*tan 4

据我所知,RESULT_CACHE 将为您提供来自 Oracle 特殊内存结果缓存的数据。

如果您想获得更新的结果,可以使用 RESULT_CACHE RELIES_ON (TABLE NAME)。

但是,如果您的数据库版本是 11.2 或更高版本,则不需要 RELIES ON 子句,因为它会自动跟踪依赖项并在必要时使缓存结果无效。

您可以从这里这里详细参考

  • 在 oracle 11.2 中不推荐使用依赖子句 (3认同)