oracle快速將表快取到記憶體

2022-09-10 09:24:14 字數 683 閱讀 1570

共有2種方法:

1) alter table fisher cache;

2) alter table fisher storage(buffer_pool keep);

--取消快取

1) alter table fisher nocache;

2) alter table fisher storage(buffer_pool default );

select table_name,owner,cache,buffer_pool from dba_tables where table_name= 'fisher' ;  --檢視是否快取

select * from dba_segments where segment_name= 'fisher' ; --檢視表大小

兩者區別:

1) cache是將表快取到share pool 中,該操作直接將表快取的熱端,受lru演算法控制。

2)將表快取到乙個固定的記憶體空間中,預設情況下buffer_pool空間為0,。需手動設定空間大小。

sqlplus / as sysdba

alter system set db_keep_cache_size=50m scope=both sid=『*';

alter table fisher storage(buffer_pool default );

小表快取到記憶體

oracle的db buffer pool由三部分組成 buffer pool defualt buffer pool keep buffer pool recycle 如果要把表釘死在記憶體中,也就是把表釘在keep區。表如果快取的話是快取在keep區 sql alter table t1 sto...

小表快取到記憶體

oracle的db buffer pool由三部分組成 buffer pool defualt buffer pool keep buffer pool recycle 如果要把表釘死在記憶體中,也就是把表釘在keep區。表如果快取的話是快取在keep區 sql alter table t1 sto...

小表快取到記憶體

oracle的db buffer pool由三部分組成 buffer pool defualt buffer pool keep buffer pool recycle 如果要把表釘死在記憶體中,也就是把表釘在keep區。表如果快取的話是快取在keep區 sql alter table t1 sto...