oracle 11g缓存技术 [英] oracle 11g caching techninque

查看:67
本文介绍了oracle 11g缓存技术的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的select查询有4个表连接,每当我使用result_cache缓存它不起作用,如果我使用单个表选择它工作正常,

EX1:SELECT / * + RESULT_CACHE * / id from tab1它工作正常

但是对于这样的另一个查询

ex2:select / * + RESULT_CACHE * / ORDERDET *(SELECT COL1,COL2,COL3,COL4

来自TAB1,TAB2,TAB3,TAB4)ORDERDET

这个ex2在ORACLE 11G中缓存时工作

my select query has 4 table joining,whenever i cache using result_cache it does not work, if i used single table select it works fine,
EX1:SELECT /*+ RESULT_CACHE */ id from tab1 it works fine
but for another query like this
ex2:select /*+ RESULT_CACHE */ ORDERDET*(SELECT COL1,COL2,COL3,COL4
FROM TAB1,TAB2,TAB3,TAB4)ORDERDET
THIS ex2 DOES WORK WHILE CACHING IN ORACLE 11G

推荐答案

你应该提供更多数据,以便您认为缓存无效。一个原因可能是表中的数据已经更改,从而使缓存的结果无效。



总的来说,很少需要服务器端缓存,因为服务器正在缓存数据无论如何阻止内存。查询特定缓存的好处通常非常小且具体情况,因此将工作量转化为访问计划优化是有意义的。
You should provide more data why you think the caching isn't working. One cause could be that the data in the tables have been changed thus invalidating the cached result.

In overall, server side caching is rarely needed because the server is caching data block in-memory anyway. The benefit from query specific caching is often so small and situation specific that it would make sense to put the effort to access plan optimization instead.


这篇关于oracle 11g缓存技术的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆