Oracle PL / SQL结果缓存/功能

时间:2018-12-10 04:35:59

标签: plsql

我使用循环调用的SQL查询对元数据表进行了一组验证。我能否使用结果缓存提示/函数来缓存发生的所有验证的结果,因为有时数据验证可能具有相同的结果。哪种方法更好? 。而且我也想维护缓存以仅保留在会话中。

1 个答案:

答案 0 :(得分:2)

对于结果缓存,有时您是否具有相同的结果并不重要。更重要的是,有时您是否具有相同的输入参数。

例如,如果您调用函数一百万次,但是每次以不同的输入参数值调用函数时,那么结果将只有很少的可能性并不重要。在这种情况下,结果缓存没有意义。

如果对于许多调用我们只有几个输入参数值,则结果缓存有意义。

重要的是还要检查您的数据库result cache is enabled

如果参数result_cache_mode设置为MANUAL,则可以使用result_cache提示。

如果您需要使用SQL进行缓存,则也可以尝试Scalar Subquery Caching