首页 > 数据库 > Oracle > 正文
oracle表之常驻内存
2012-03-27       个评论      
收藏    我要投稿

(create table 表名 (字段) storage (buffer_pool keep); --建表时把表缓存到KEEP中
alter table 表名 storage(buffer_pool keep);--把已存在的表缓存至KEEP中
create table 表名(字段..) storage (buffer_pool keep) cache;--创建缓存表
ALTER TABLE Table_Name STORAGE ( BUFFER_POOL KEEP) ;
oracle的db_buffer_pool由三部分组成:
buffer_pool_defualt
buffer_pool_keep
buffer_pool_recycle
如果要把表钉死在内存中,也就是把表钉在keep区。
相关的命令为:
alter table ..... storage(buffer_pool keep);
这句命令把表示表如果缓存的话是缓存在keep区。
可以通过语句:
select table_name from dba_tables where buffer_pool='KEEP';查询到改表是放在keep区中的。
但是不意味着表已经被缓存了。
下面的语句把表缓存:
alter table .... cache;
可以通过
select table_name from dba_ tables where rtrim(cache)='Y'
查询到该表已经被缓存了。
加入到keep区的表不是说不能被移出内存,不过是比较不容易移出内存。
也可以手工来移出内存,命令如下:
alter table ... nocache;
实例
--select *from sms_accounts
--alter table sms_accounts storage(BUFFER_POOL KEEP)
--alter table ECHOBASE20110515 storage(BUFFER_POOL KEEP)
--select table_name from dba_tables where buffer_pool='KEEP'
--alter table sms_accounts cache
--alter table ECHOBASE20110515 cache
--select table_name,cache from user_tables where table_name='ECHOBASE20110515'
--select table_name,cache from user_tables where table_name='SMS_ACCOUNTS'
 

 
 
作者 juji1010
点击复制链接 与好友分享!回本站首页
相关TAG标签 内存
上一篇:Oracle学习之集合运算
下一篇:Oracle之Round函数
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做实用的IT技术学习网站