oracle怎么把这个表一直放在内存中?

yuga 2006-07-28 11:42:51
项目绝大部分操作都要使用一个基本信息表
有没有办法把这个表一直放内存中,这样速度快些

有没有别的办法,比如
把这个表的内容读读到内存中,这样就不要读表了
到晚上在和表里同步一次
放在map里会不会比查表快

表的内容并不多应该在100这个数量级上吧
...全文
493 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
NinGoo 2006-08-02
  • 打赏
  • 举报
回复
你要是对oracle的系统架构多了解一点,就会对oracle更有信心的:)

就算你不把表放在keep池中,而是放在默认的default池中,如果这个表访问频繁,那也不会有什么问题。oracle存储数据前,都要将block读入到数据缓存中,default使用的是LRU算法,所以频繁访问的数据基本上也是会保留在内存中的。
NinGoo 2006-08-02
  • 打赏
  • 举报
回复
如一楼说的,将表放在keep池中即可。数据库本身有的功能,不建议通过程序另外实现。
smile_angell 2006-08-02
  • 打赏
  • 举报
回复
好高难度的问题哦,我是菜鸟,我学习
cdfs 2006-08-02
  • 打赏
  • 举报
回复

ALTER TABLE "tablename" CACHE
二两就醉 2006-08-02
  • 打赏
  • 举报
回复
xuexi
cenlmmx 2006-07-28
  • 打赏
  • 举报
回复
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.
龙翔飞雪 2006-07-28
  • 打赏
  • 举报
回复
那就索性不要放在DB的内存中,
直接用C#,JAVA等编程语言将小表的内容读出后,放在Hashtable放在application server的内存.

然后使用~
sxykje 2006-07-28
  • 打赏
  • 举报
回复
学习.....
guanshiyu123 2006-07-28
  • 打赏
  • 举报
回复
学习.....

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧