oracle11g新特性--result cache结果高速缓存

oracle 11g新加入了结果缓存特性,包括服务器结果高速缓存和客户机高速缓存.服务器结果高速缓存又包括sql查询结果高速缓存和pl/sql函数结果高速缓存.它适合数据库查询频繁执行并且查询依赖的表数据变化频率很低的情况.

以下是一些result_cache的说明:
sql中通过/*+ result_cache*/提示实现result cache,pl/sql函数通过建函数时的result_cache子句实现.使用result cache的sql在执行计划上会有result cache操作符.

dbms_result_cache包,可以监视和管理result cache.
例如:dbms_result_cache.flush:清除result cache.
    dbms_result_cache.invalidate(owner,name):使某对象的result cache无效.
    dbms_result_cache.status:显示result cache的状态.
    dbms_result_cache.memory_report:显示result cache的内存使用状况.

v$result_cache_*视图,是和result cache存相关.
例如:
    v$result_cache_statistics:显示result cache的设置和统计数据.
    v$result_cache_objects:显示result cache中的对象和对象状态.
    v$result_cache_memory:显示result cache的内存统计数据.

数据库参数:
result_cache_mode:默认manual,只能在sql中通过/*+ result_cache*/提示实现result cache.auto根据执行频率,执行成本和对象的变化频率等因素等自动result cache.force只要result cache合理,会缓存所有查询结果.
result_cache_max_size:result cache是SGA share pool的一部分,由参数result_cache_max_size控制其大小,默认memory_target的0.25%或者sga_target的0.5%或者shared_pool_size的1%,但最大不能超过share pool的75%.
result_cache_max_reslut:默认5,即5%,单条sql查询结果最大占用result_cache_max_size的比例.
result_cache_remote_expiration:默认0.指定远程数据库中查询结果涉及的表保证多久不变的时间,此参数一般只适合用于只读的表或周期性更改的表,否则会影响本地库调用时的正确性.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值