oracle中怎么将表中数据存储在内存中,将oracle中常用的表固定在内存中
(1)查看表的存放地点,默认存放到default中SQL> selecttable_name,tablespace_name,blocks,buffer_pool from dba_tables whereowner='SCOTT';TABLE_NAME TABLESPACE BLOCKS BUFFER_---------- -------------------- -------D...
(1)查看表的存放地点,默认存放到default中
SQL> select
table_name,tablespace_name,blocks,buffer_pool from dba_tables where
owner='SCOTT';
TABLE_NAME TABLESPACE BLOCKS BUFFER_
---------- ----------
---------- -------
DEPT SYSTEM 1 DEFAULT
EMP SYSTEM 1 DEFAULT
BONUS SYSTEM 0 DEFAULT
SALGRADE SYSTEM 1 DEFAULT
(2)SQL>
show parameter cache;
db_keep_cache_size big integer 0--查看keep的大小,目前为O
(3)SQL>
alter system set db_keep_cache_size=10m; --给keep分配固定空间
(4)SQL>
show parameter cache;
NAME TYPE VALUE
------------------------------------
----------- ------------------------------
db_16k_cache_size big integer 0
db_2k_cache_size big integer 0
db_32k_cache_size big integer 0
db_4k_cache_size big integer 0
db_8k_cache_size big integer 0
db_cache_advice string
ON
db_cache_size big integer 0
db_keep_cache_size big integer 12M
db_recycle_cache_size big integer 0
object_cache_max_size_percent integer 10
object_cache_optimal_size integer
102400
session_cached_cursors integer 100
只要数据库不关库,keep _cache中的数据永远不会被踢出内存。
(5)SQL>
alter table scott.emp storage(buffer_pool keep); --将表放入keep缓存中(前提是张小表,太大不行)
如果keep缓存中放不下,会自动将数据放入default缓存中。
(6)再次查看表的缓存地点
SQL> select
table_name,tablespace_name,blocks,buffer_pool from dba_tables where
owner='SCOTT';
TABLE_NAME TABLESPACE BLOCKS BUFFER_
---------- ----------
---------- -------
DEPT SYSTEM 1 DEFAULT
EMP SYSTEM 1 KEEP
BONUS SYSTEM 0 DEFAULT
SALGRADE SYSTEM 1 DEFAULT
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)