oracle11g 清除缓存,Oracle11g结果集缓存限制

5268f80b9b1e01f982625ef6fac83ca1.png

有个不大的表 数据量大于百万级别 这是类似IP地址范围查找. 表的查询量很大.数实时生成,有时会被更新该表上的索引 主键和表 都被

有个不大的表 数据量大于百万级别 这是类似IP地址范围查找. 表的查询量很大.数实时生成,有时会被更新该表上的索引 主键和表 都被我KEEP进内存了。

查询速度 基本保持在50-30毫秒之间.

该表的数据 一天要查500万次以上.同时被重复查询的次数也蛮多子.

鉴于这个原因 所以向开发人员提出 在SQL 增加提示 /*+ result_cache */

结论是 结果缓存通过表的依赖而失效,也就是说相应表发生了数据变化那么就重新从表获取.相比时间 比普通45毫秒 高很多 达到945毫秒. 难道它不晓得从内存中获取吗? 还是觉得表数据有变化,直接从硬盘上读取才是真!

declare

B1 VARCHAR2(20);

B2 NUMBER;

ORG NUMBER(10);

S TIMESTAMP;

E TIMESTAMP;

R TIMESTAMP;

begin

B2:=12;

B1:=668239581895;

FOR I IN 1..100 LOOP

S:=SYSTIMESTAMP;

SELECT /*+ result_cache */ USE_IP into IP

FROM (SELECT A.USE_IP

A.IP_TYPE

FROM BACK_IP A

WHEREA.IP_TYPE IN (3, 5, 9)

ANDIP_LEGN = B2

ANDA.START_IP <= B1

ANDA.END_IP >= B1

ORDER BYA.DISP_DATE DESC,

A.CREATE_TIME DESC)

WHERE ROWNUM <= 1;

E:=SYSTIMESTAMP;

DBMS_OUTPUT.PUT_LINE(TO_CHAR(E-S));

DBMS_LOCK.SLEEP(10);

END LOOP;

END ;

测试结果 不很理想 波动性太大了.

+00000000000:00:00.090374000

+00000000000:00:00.102860000

+00000000000:00:00.000237000

+00000000000:00:00.000139000

+00000000000:00:00.000135000

+00000000000:00:00.000163000

+00000000000:00:00.000170000

+00000000000:00:00.000206000

+00000000000:00:00.000173000

+000000000 00:00:00.000171000

+00000000000:00:00.000170000

+00000000000:00:00.000139000

+00000000000:00:00.000267000

+00000000000:00:00.000171000

+00000000000:00:00.000160000

+00000000000:00:00.000180000

+00000000000:00:00.000161000

+00000000000:00:00.000183000

+00000000000:00:00.000182000

+00000000000:00:00.000139000

+00000000000:00:00.000147000

+00000000000:00:00.000160000

+00000000000:00:00.000212000

+00000000000:00:00.000353000

+00000000000:00:00.094454000

本文永久更新链接地址:,

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值