ITPub博客

首页 > Linux操作系统 > Linux操作系统 > db_recycle_cache_size和db_keep_cache_size区别

db_recycle_cache_size和db_keep_cache_size区别

原创 Linux操作系统 作者:jdw618 时间:2010-10-31 16:35:53 0 删除 编辑
任何知识要穷根到底,不然今天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博客 ” ,链接:https://blog.itpub.net/7608831/viewspace-677112/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-10-08

  • 博文量
    27
  • 访问量
    81764