[Oracle]跨越 DBLINK 访问表时,数据缓存在何处的Data Buffer 中?
结论是存储在 remote 端,这其实也很好理解。在远端能高效率地计算,当然应当在远端完成缓存和检索。
■ Before query execution via DBLINK:
===========
DBLINK destination (remote side):
conn u2 / u2
create table tab002 as select * from dba_objects;
shu immediate
startup
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U 2'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
A record was not selected.
===========
Local side:
conn u3 / u3
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U 2'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
A record was not selected.
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U3'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
A record was not selected.
■ Query execution via DBLINK:
SQL> select count (*) from tab002 @ dbk;
COUNT (*)
----------
69263
conn u3 / u3
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U 2'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
A record was not selected. <<<<<<<<<<< Cache has no related information
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U3'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
A record was not selected. <<<<<<<<<<< Cache has no related information
===========
DBLINK destination (remote side):
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U 2'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
OWNER
-------------------------------------------------------------------- ------------------------------
OBJECT_NAME
-------------------------------------------------------------------- ------------------------------
OBJECT_TYPE BUFFER_POOL
-------------------------------------------------------------------- ------- ---------------------
BUFFERS
----------
U2
TAB 002
TABLE DEFAULT
2042 ★ ★ <<<<<<<<<<<<<<<<<< data got into the cache.
select o.owner, o.object_name, o.object_type, s.buffer_pool, count (*) buffer
from dba_objects o, v $ bh b, dba_segments s
where b.objd = o.data_object_id
and o.owner = 'U3'
and o.object_name = s.segment_name
and o.object_type = s.segment_type
group by o.owner, o.object_name, o.object_type, o.status, s.buffer_pool
order by buffers;
A record was not selected.
[Oracle]跨越 DBLINK 访问表时,数据缓存在何处的Data Buffer 中?的更多相关文章
- jQuery源码解读 - 数据缓存系统:jQuery.data
jQuery在1.2后引入jQuery.data(数据缓存系统),主要的作用是让一组自定义的数据可以DOM元素相关联——浅显的说:就是让一个对象和一组数据一对一的关联. 一组和Element相关的数据 ...
- [Oracle]跨DBLINK的JOIN查询的数据库缓存问题15783452141
客户问到跨DBLINK,结合本地表和远端表的时候,数据在哪一边 的 Data Buffer 缓存. 测试的结果是:本地表在本地缓存,远端表在远端缓存. ####Testcase-0929-10 本地数 ...
- 【菜鸟学习jquery源码】数据缓存与data()
前言 最近比较烦,深圳的工作还没着落,论文不想弄,烦.....今天看了下jquery的数据缓存的代码,参考着Aaron的源码分析,自己有点理解了,和大家分享下.以后也打算把自己的jquery的学习心得 ...
- jQuery1.9.1源码分析--数据缓存Data模块
jQuery1.9.1源码分析--数据缓存Data模块 阅读目录 jQuery API中Data的基本使用方法介绍 jQuery.acceptData(elem)源码分析 jQuery.data(el ...
- jQuery数据缓存data(name, value)详解及实现
一. jQuery数据缓存的作用 jQuery数据缓存的作用在中文API中是这样描述的:“用于在一个元素上存取数据而避免了循环引用的风险”.如何理解这句话呢,看看我下面的举例,不知道合不合适,如果你有 ...
- jquery源码解析:jQuery数据缓存机制详解2
上一课主要讲了jQuery中的缓存机制Data构造方法的源码解析,这一课主要讲jQuery是如何利用Data对象实现有关缓存机制的静态方法和实例方法的.我们接下来,来看这几个静态方法和实例方法的源码解 ...
- jQuery数据缓存$.data 的使用以及源码解析
一.实现原理: 对于DOM元素,通过分配一个唯一的关联id把DOM元素和该DOM元素的数据缓存对象关联起来,关联id被附加到以jQuery.expando的值命名的属性上,数据存储在全局缓存对象jQu ...
- Java的运行时数据存储机制
原文地址:http://yanwushu.sinaapp.com/java_data_storage/ Java程序在运行时需要为一系列的值或者对象分配内存,这些值都存在什么地方?用什么样的数据结构存 ...
- 利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据
利用js对象将iframe数据缓存, 实现子页面跳转后, 返回时不丢失之前填写的数据 实现描述:将数据存放在js对象中, 然后放在父页面的document对象中, 在页面刷新的时候将父页面的值取出来, ...
随机推荐
- Cobalt Strike 学习
前言 本文以一个模拟的域环境为例对 Cobalt Strike 的使用实践一波. 环境拓扑图如下: 攻击者(kali) 位于 192.168.245.0/24 网段,域环境位于 192.168.31. ...
- hibernate数据库操作基础
1.根据主键查询 2.getSession().createSQLQuery(sql)和session.createQuery(sql) 3.Seeion的其他方法 4.Hibernate Crit ...
- 脚本设置IP bat 命令行设置自动获取IP和固定IP
由于办公室网络需要固定IP和DNS才能上网, 在连接公共网络或者家里又需要自动获取IP和DNS才能上网. 频繁手动切换很麻烦,就搞了两个脚本一键设置. 1.新建文本文件, 命名为固定IP.bat 复制 ...
- 【SPL标准库专题(6)】 Datastructures:SplPriorityQueue
普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头取出.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先取出.优先队列具有最高级先出 (largest-in,fir ...
- python selenium爬取自如租房数据保存到TXT文件
# -*- coding: utf-8 -*-"""Created on Fri Aug 31 2018 @author: chenlinlab"" ...
- 系统监控工具-glances
作为运维不仅要时时监控系统,还需要优雅的装13,当别人还在命令的小黑框里敲打那个top命令去查看系统性能的时候,我们带你使用web端监控系统性能 glances 是利用Python语言开发,的监控工具 ...
- 转:queue
数据结构C#版笔记--队列(Quene) 队列(Quene)的特征就是“先进先出”,队列把所有操作限制在"只能在线性结构的两端"进行,更具体一点:添加元素必须在线性表尾部进行, ...
- orcl regexp_like 的用法
oracle10g以上支持正则表达式的函数主要有下面四个:1.REGEXP_LIKE :与LIKE的功能相似2.REGEXP_INSTR :与INSTR的功能相似3.REGEXP_SUBSTR :与S ...
- IE 8 下sharepoint 2013 难看的字体的解决方案
将 corev15.css 中的有关"Segoe UI","Segoe",Tahoma,移除即可. 一共二处 C:\Program Files\Common F ...
- 开源作业调度框架 - Quartz.NET - Cron表达式测试
昨天简单写了一下如何使用Quzrtz.NET. 那么问题来了,我设置了Cron表达式之后如何知道是表达式是否按照预期的时间执行了呢? 我找到了些Cron表达式工具生成了表达式,确发现它们基本上没有进行 ...