KEEP POOL和CACHE屬性的區別
我們知道可以設定表的屬性CACHE將表資料放入資料快取中,也可以設定表將其放入KEEP緩衝池,這兩者的區別如下:
BUFFER POOL包括DEFAULT、KEEP、RECYCLE三個POOL,其大小分別對應三個引數:
DB_CACHE_SIZE, DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SZIE,這三個POOL相互獨立,沒有包含的關係。
語法如下:
create/alter table ...... storage(buffer_pool keep);
當表被讀入的時候,放入keep pool,keep pool 中的資料會盡量長時間的保留,
保留的時間長短依據keep pool的負載而定。
create/alter table ...... cache;
當全表掃描時,放入default pool 的LRU熱端(如無cache,則放入LRU冷端,很快就會
被age out),適合頻繁使用的小表,如果有很多表要cache,那應該把表放如keep pool.
全表掃描時,資料是放入default pool的LRU冷端,所以可能很快就會被從記憶體中age out,
對一些頻繁使用的小表來說效率就比較底了,所以使用cache 子句,在全表掃描時,讓oracle
把資料放入LRU的熱端,避免很快被age out,如果有太多的表cache,LRU連結串列會很擁擠,LRU機
制也會受影響,所以該把表放入keep pool,而且cache子句也不適合大表,因為有可能這個大
表會佔據整個LRU連結串列。
對於放入KEEP POOL中的表資料,要麼全表放入,要麼全表都out,不會只放入一部分資料。
當BUFFER_POOL和CACHE同時使用時,KEEP比NOCACHE有優先權。
BUFFER_POOL用來指定存貯的緩衝池,而CACHE/NOCACHE指定儲存的方式。
附註:對於8i,需要設定引數buffer_pool_keep,還要修改 db_block_lru_latches,
該引數預設是1,無法使用buffer_pool_keep。該引數應該比2*3*CPU數量少,但是要
大於 1,才能使用buffer_pool_keep。buffer_pool_keep從db_block_buffers中分配,
因此也要小於db_block_buffers。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-888324/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Buffer Cache(緩衝區快取)篇:keep pool(保留池)快取
- Oracle 的 KEEP pool, RECYCLE pool和DEFAULT poolOracle
- create table中的buffer pool 設定 KEEP 及CACHE 引數的聯絡及區別
- maxlength和size屬性區別
- disabled和readonly屬性區別
- Buffer和Cache的區別
- Cache 和 Buffer的區別
- WebSocket 和Keep Alive區別?Web
- Service Worker Cache 和 HTTP Cache 的區別HTTP
- input屬性disabled和readonly的區別(轉)
- 文字框的readonly和disabled屬性區別
- js 物件方法、類方法、原型方法的區別;私有屬性、公有屬性、公有靜態屬性的區別JS物件原型
- python的dir()和__dict__屬性的區別Python
- 標籤的readonly和disabled屬性的區別
- C#中的屬性和欄位的區別C#
- CSS樣式中的right屬性和margin-right屬性的區別CSS
- python屬性和方法的區別是什麼Python
- outerText和innerText屬性的區別例項介紹
- <input>文字框的readonly和disabled屬性區別
- Cache 和 Buffer 的區別在哪裡?
- Client Side Cache 和 Server Side Cache 的區別clientIDEServer
- offsetWidth和clientWidth屬性的區別是什麼client
- CSS中px和em屬性的特點與區別CSS
- 將SYS和SYSTEM的物件都KEEP到shared pool物件
- Low cache RBA和On disk RBA的區別
- Input的size與maxlength屬性的區別
- inherit和initial屬性值區別簡單介紹
- HTML 裡 img 元素的 src 和 srcset 屬性有何區別?HTML
- Vue.js 的 computed 屬性和 watch 的區別在哪裡?Vue.js
- php中呼叫類的屬性和函式的方法->_=>_::_$this->區別PHP函式
- 分割槽表放入keep pool,recycle pool的問題及解析
- dbms_shared_pool keep物件到share pool中物件
- Cache 和 Buffer 有什麼區別?
- oracle KEEP池的CACHE特點Oracle
- orm的method屬性值post和get的區別簡單介紹ORM
- buffer與cache的區別
- Buffer 與 Cache 的區別
- String型別的屬性和方法型別