当前位置:  数据库>oracle

Oracle 表缓存(caching table)的使用

    来源: 互联网  发布时间:2017-03-30

    本文导语: --************************************ -- Oracle 表缓存(caching table)的使用 --************************************   1.使用caching table 的原因         在通常的情况下,应用程序访问在cache中的数据块将按照LRU算法来进行处理。然而对于小表的访问...

--************************************

-- Oracle 表缓存(caching table)的使用

--************************************

 

1.使用caching table 的原因

        在通常的情况下,应用程序访问在cache中的数据块将按照LRU算法来进行处理。然而对于小表的访问,当使用全表扫描时,则该表

    中的块会放置LRU列表最近最少使用尾部的(LRU端),因此很快就被淘汰出局。然而使用基于成本优化的方法,对于小表进行查询以及收

    集统计信息,大多情形下走的是全表扫描,因此势必造成一种情形,即该表后续需要再次访问,而每次使用了全表扫描,而该对象很快

    被淘汰出局,因此需要再次读入到buffer cache,耗用了大量的I/O。

           

2.解决该问题的方法

    设计表为caching table ,即使对该表使用全表访问时,则该表对象的块仍然被放置在LRU列表最近最多使用的尾部(MRU段)

    不要过度的使用caching table,以免造成性能下降

    通常将caching table 存放在keep buffer pool,缺省的情况下会放置在default buffer pool。

   

3.具有cache属性与pin 的差异

    对于具有cache属性的对象,并不是将该对象pin到cache里,而是尽可能的延迟该对象驻留cache的时间

    而对于pin对象,则是将该对象常驻到内存

   

4.设计cache table 的方法

    创建表对象时,使用cache子句

    修改表对象时,使用cache子句

    使用cache 提示

   

    创建表对象时使用cache,如下面的例子

        create table tb_test

        (id number

         ,name varchar2(20)

         ,sex  char(1)

         ,age  number

         ,score number)

         tablespace users

         storage(initial 50k next 50k pctincrease 0)

         cache;    --指定cache子句

 

     使用alter table 修改已经存在的表

        alter table scott.emp cache;

       

     可以使用nocache来修改对象,使其不具备cache属性

        alter table soctt.emp nocache

       

     使用hint提示符来实现cache

        select /*+ cache*/ empno,ename from scott.emp;


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下安装oracle后使用命令行启动的方法 linux启动oracle
  • Oracle9i 9.0.1的JDBC Drivers 可以给Oracle 8.0.5使用马?
  • Suse linux使用oracle问题
  • 请问:在使用oracle数据库作开发时,是使用pro*c作开发好些,还是使用库函数如oci等好一些啊?或者它们有什么区别或者优缺点啊?
  • jbuilder中使用oracle的问题
  • 求redhat linux 9.0下可以使用的oracle 10g或9i,还有redhat linux 9.0下可以使用的eclipse下载地址
  • Oracle事务!使用游标提交过程
  • 在Jbuilder7下,使用DbPilot.exe连接oracle,报错!请教高手!
  • AIX 64位系统上如何使用32位OCI oracle driver
  • Oracle中SQL语句连接字符串的符号使用介绍
  • 使用X manager连接oracle数据库的步骤
  • C++使用OCCI连Oracle10g的错误
  • 使用工具 plsqldev将Excel导入Oracle数据库
  • Linux下Oracle的sqlplus使用光标上下左右方法
  • Oracle 数据 使用游标
  • 求redhat linux 9.0下可以使用的oracle 10g或9i,还有redhat linux 9.0下可以使用的eclipse下载地址 iis7站长之家
  • ORACLE 修改表结构 之ALTER CONSTAINTS的使用
  • Linux中Oracle使用相关知识集锦
  • Oracle密码文件的使用和维护第1/3页
  • Oracle 触发器的使用小结
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3