db_recycle_cache_size和db_keep_cache_size区别

任何知识要穷根到底,不然今天db_recycle_cache_size的作用要被老师误导了。
 
先简单介绍一个两者的区别
 
db_keep_cache_size:让表长期保存在内存区中,提高查询速度,这个区域的数据不参与LRU哦。
 
db_recycle_cache_size:正常情况下,数据缓存在db_cache中,要经地LRU算法才会清除,如果有一张很大的表,使用又很少,如果缓存在内存,再经过LRU算法,是不是要在内存存放好长一段时间呢?这有些浪费资源,就指定这个参数,让指定的表缓存在recycle内存区中,尽快地从内存中清除,又不是采用lru算法。
 
db_cache_size:默认数据库缓冲区,正常情况下,所有缓冲的表数据需要经过LRU算法,才会从内存中移除。
 
default缓冲区:等于db_cache_size - db_keep_cache_size-d - b_recycle_cache_size
 
注意:default缓冲区、db_keep_cache_size、db_recycle_cache_size是三个独立的内存区。
 
 
修改keep、recycle内存区大小:
 
SQL> alter system set db_recycle_cache_size=20M;
 
System altered
 
SQL> alter system set db_keep_cache_size=20M;
 
System altered
 
SQL> show parameter buffer_pool
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_keep                     string     
buffer_pool_recycle                  string     
 
修改表存储参数,以修改表的缓冲区位置,这样下次再调用该表的时候,就缓存到请的缓冲区中。
SQL> alter table testexp storage(buffer_pool recycle);
 
Table altered
 
SQL> alter table testexp storage(buffer_pool keep);
 
Table altered
 
SQL> alter table testexp storage(buffer_pool default);
 
Table altered
 
当然,也可以在创建表的时候,指定storage参数。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7608831/viewspace-677112/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7608831/viewspace-677112/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值