자주 사용되는 코드테이블과 같은 소규모 데이터를 가진 테이블은 전부 메모리에 올려두어 불필요한 디스크I/O를 제거할 수 있다.
우선 패러미터파일(init[SID].ora)파일에 다음 패러미터를 설정한다.
DB_KEEP_CACHE_SIZE=16M
SQL> create table test(id varchar(10));
테이블이 생성되었습니다.
SQL> insert into test values('maddog');
1 개의 행이 만들어졌습니다.
SQL> alter table test cache storage (buffer_pool keep);
테이블이 변경되었습니다.
SQL>
추가: 2004-02-05
기존(deprecated) 9i부터 변경 db_block_buffers -> db_cache_size buffer_pool_keep -> db_keep_cache_size buffer_pool_recycle -> db_recycle_cache_size
변경된 패러미터는 동적패러미터로, alter system명령으로 그 크기를 변경할 수 있다. 참고로, 기존 패러미터의 사용법은 다음과 같다.
BUFFER_POOL_KEEP = 5 BUFFER_POOL_KEEP = (BUFFERS:400, LRU_LATCHES:3)
BUFFER_POOL_RECYCLE = 5 BUFFER_POOL_RECYCLE = (BUFFERS:50, LRU_LATCHES:1)
테이블 생성과 함께 keep하려면 다음과 같이 한다.(Refered: Knowledge Xpert for Oracle)
CREATE TABLE small_table ( pk_id NUMBER NOT NULL PRIMARY KEY, table_info VARCHAR2 NOT NULL ) STORAGE (INITIAL 1M, NEXT 1M, BUFFER_POOL KEEP) | This article comes from dbakorea.pe.kr (Leave this line as is)
|