有个不大的表 数据量大于百万级别 这是类似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

11G 结果集缓存限制相关推荐

  1. Oracle结果集缓存(Result Cache)--服务器、客户端、函数缓存

    Oracle结果集缓存(Result Cache)--服务器.客户端.函数缓存 在11g中,Oracle提供了结果集缓存特性.该缓存是在共享内存中存储全部的结果集,如果一个查询SQL被执行,且它对应的 ...

  2. 【DB笔试面试611】在Oracle中,什么是结果集缓存?

    ♣题目 部分 在Oracle中,什么是结果集缓存? ♣答案部分 结果集缓存(Result Cache)是Oracle 11g的新特性,用于存储经常使用的SQL语句和函数的查询结果.当相同语句再次执行的 ...

  3. Azure Synapse Analytics (Azure SQL DW)性能优化指南(4)——使用结果集缓存优化性能

    目录 (一)前言 (二)关键命令 1. 对用户数据库启用/禁用结果集缓存 (1)检查数据库的统计信息设置 (2)为数据库启用查询存储 (3)为数据库启用结果集缓存 (4)检查数据库的结果集缓存设置 ( ...

  4. ORACLE 11g RAC 集群的管理与维护(3) —— crsctl 命令之(三) :管理 crs

    ORACLE 11g RAC 集群的管理与维护(3) -- crsctl 命令之(三) :管理 crs CRS(Cluster Ready Service,集群就绪服务).CRS 主要完成集群成员管理 ...

  5. oracle 11g函数包缓存,Oracle11新特性——PLSQL函数缓存结果(一)

    Oracle11g新增的SQL缓存结果集的功能前面已经介绍过了.同时Oracle对PL/SQL的函数也进行了相应的增加.允许函数缓存返回结果. 先看一个简单的例子: SQL> CREATE TA ...

  6. oracle 11g函数包缓存,Oracle 11g 的PL/SQL函数结果缓存

    模仿Oracle性能诊断艺术中的例子做了两个试验,书上说如果不用RELIES_ON,则函数依赖的对象发生的变更操作就不会导致结果缓存的失效操作(result_cache RELIES_ON(test1 ...

  7. was连接oracle rac集群,oracle 11g rac 集群操作命令

    1).检查集群状态: [grid@rac02 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: ...

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

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

  9. weblogic 11g 配置集群

    我选用了8台服务器,ip分别为: 10.120.20.189:主域 10.120.20.187:代理 10.120.20.181:节点1 10.120.20.182:节点2 10.120.20.183 ...

最新文章

  1. python中tk窗口刷新_80 行 Python 代码写个图形计算器
  2. 1.1 Friday the Thirteenth
  3. iOS友盟推送发送失败
  4. Java并发编程:ThreadLocal
  5. qt与js html进行数据传递,QT与javascript交互数据的实现
  6. 洛谷 P2765 魔术球问题 解题报告
  7. include引用php,php使用include 和require引入文件的区别
  8. 第三方支付处理厂商软件有漏洞,日本美容零售商Acro 10万支付卡信息遭攻击
  9. mac git 冲突工具
  10. !/usr/bin/env python和!/usr/bin/python的区别
  11. 重磅来袭,机器人四大家族财务报表大揭秘
  12. Ubuntu20.04安装ros教程(实测有用)
  13. 软件工程--概要设计
  14. hls协议视频(.m3u8)在浏览器播放
  15. windows下装ipython
  16. 计算机无法启动无法修复工具,windows资源保护无法启动修复服务的解决方法
  17. 没有音响,把手机当作电脑音响的操作。
  18. c语言7-1 多项式a除以b,多项式除以单项式优秀教案范文
  19. mysql的字符串等于函数吗_MySQL函数的字符串函数
  20. uni-app使用vue-i18n实现国际化(中英文切换)

热门文章

  1. 翻译python语言命令_【基础】python实现命令行数据翻译
  2. Centos7安装播放器(mplayer vlc)
  3. 物联卡中心:物联网时代,万物互联不只是说说而已!
  4. jt808终端鉴权_JT/T 808- 2019道路运输车辆卫星定位系统终端通信协议及数据格式...
  5. 庆科wifi模块AT指令接收方案
  6. python连接fanuc机器人、fanuc机器人以太网通信、发那科机器人以太网通信 fanuc socket 、fanuc TCP协议 通信 fanuc机器人与PC通讯
  7. 安卓开发(6)-添加向上导航功能(顶部返回箭头)
  8. Android手机连接
  9. 使用OpenCV对图片进行切割
  10. DrawerLayout的导航图标详解