把table1,table2绑定到SGA的database buffer cache中,当实例开始后,直接从database buffer cache

解决方案 »

  1.   

    把table1,table2绑定到SGA的database buffer cache中,当实例开始后,直接从database buffer cache中读起数据。
      

  2.   

    cache选项真正的含义是指示oracle服务进程在对该表进行全表扫描时,将该表的数据块buffer放到db buffer链表上的最常使用一端(这样保留在内存中的时间长),而没有cache选项时oracle缺省将它放到最少使用一端(这样很快就会被替换出去)
      

  3.   

    保留的时间是由多种因素决定的,
    当全表扫描时,放入default pool 的LRU热端(如无cache,则放入LRU冷端,很快就会被age out),适合频繁使用的小表.主要还是看表被使用的频繁度.
      

  4.   

    dreammer(追寻梦中人) ( ) 信誉:100  2006-2-15 22:53:33  得分: 0  
     
     
       
    哦,那这个在内存中保留的时间长短是在哪里设置的啊?  
     
    =\=================================================默认情况下table是以fts读入buffer cache而被放入lru末端的.
    但是以cbo下读被cache的block很快就被挤出buffer cache.
    到下一次使用此表时,oracle还得从disk 读入buffer cache.因此.当使用db_cache_size分配buffer cache的话.如10G.9i,都可以使用alter table tablename storage(buffer_pool keep)
    否则alter table tablename cache