<强> 1相关参数强>
<强> RESULT_CACHE_MAX_RESULT 强>:指定任一结果可使用的最大高速缓存量,默认值为5%,但可指定1到100之间的任一百分比的值,可在系统和会话级别上实施此参数;
<强> result_cache_max_size 强>:32 k的整数倍,如果将结果高速缓存的值设为0,则会禁用此结果高速缓存,不能超过共享池的75%;
<强> RESULT_CACHE_REMOTE_EXPIRATION >强:可以指定依赖于远程数据库对象的结果保持有效的时间(以分钟为单位),默认值为0,表示不会使用高速缓存使用远程对象的结果。
<强> result_cache_mode 强>:默认为手动,即加提示/ + result_cache /才使用结果缓存
启用结果缓存:
<代码>改变系统设置result_cache_max_result=5; 改变系统设置result_cache_max_size=20米;代码>
<强> 2相关存储过程强>
查询内存分配情况:
<代码>完成设置serveroutput 代码>
可以看出缓存为结果;不使用结果缓存:
<代码>选择prod_id,总和(amount_sold)从销售集团由prod_id prod_id秩序; 执行计划 ---------------------------------------------------------- 计划散列值:4109827725 ---------------------------------------------------------------------------------------------- | | |操作Id名称| | |行字节成本(% CPU) |时间| Pstart | Pstop | ---------------------------------------------------------------------------------------------- SELECT语句| 0 | | | 72 | 648 | 680 (24)| 00:00:09 | | | | 1 |排序GROUP BY | | 72 | 648 | 680 (24) | 00:00:09 | | | | 2 |分区范围所有| | 918 | 8075 | 557(8)| 00:00:07 | 1 | | 28日 | 3 |表访问全部|销售| 918 | 8075 | 557(8)| 00:00:07 | 1 | 28 | 代码>
也可以强制对象使用结果缓存:
<代码> alter table销售result_cache(模式);代码>
取消:
<代码> alter table销售result_cache(默认模式);代码>
4相关视图
(G) V $ RESULT_CACHE_STATISTICS:列出各种高速缓存设置和内存使用量统计信息
从V $ RESULT_CACHE_STATISTICS选择
(G) V $ RESULT_CACHE_MEMORY:列出所有内存块和相应的统计信息
从V $ RESULT_CACHE_MEMORY选择
(G) V $ RESULT_CACHE_OBJECTS:列出所有对象(高速缓存结果和依赖性)及其属性
选择cache_id lru_number, db_link,地位,bucket_no,散列,名称、命名空间、类型、状态
从问RESULT_CACHE_OBJECTS美元,名字像“%的销售额%”;
(G) V $ RESULT_CACHE_DEPENDENCY:列出高速缓存结果之间的依赖性详细信息及依赖性
选择b.owner b.object_name,。从V * RESULT_CACHE_DEPENDENCY美元,all_objects b a.object_no=b.object_id;
5注意事项
1绑定变量不同,不可以命中
2最适用于需要访问大量行却仅返回其中一少部分的语句,建议使用在OLAP系统/报表系统中使用