[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对象中, 在页面刷新的时候将父页面的值取出来, ...
随机推荐
- python turtle 绘制图像
def _circle(): t = turtle.Turtle() t.pencolor("yellow") t.pensize(5) t.speed(200) t.circle ...
- 2018-02-03-PY3下经典数据集iris的机器学习算法举例-零基础
---layout: posttitle: 2018-02-03-PY3下经典数据集iris的机器学习算法举例-零基础key: 20180203tags: 机器学习 ML IRIS python3mo ...
- Win10命令行激活 & 电脑组装
系统激活: 1. 管理员身份运行 cmd 2. slmgr.vbs /upk ...
- 移除jboss响应中的中间件信息
JBoss 4.2 Suppressing the X-Powered-By header in JBoss 4.2.x can be done by modifying the web.xml fi ...
- shell變量和數組
我們要知道shell是一個很重要的腳本能幫助我們完成很多事情 shell語言其實和很多的語言的語法是差不多的 變量: 變量的定義很簡單的,但是等號兩邊是不可以有空格的(不能有空格) 命名只能使用英文字 ...
- 数值分析 最小二乘 matlab
1. 已知函数在下列各点的值为 -1 -0.75 -0.5 0 0.25 0.5 0.75 1.00 0.8125 0.75 1.00 1.3125 1.75 2.3125 分别用一次.二次. ...
- WCF 基于 WinForm 宿主 发布
ServiceHost Host = new ServiceHost(typeof(ServiceHTTP)); //绑定 System.ServiceModel.Channels.Binding h ...
- 如何修改word文档中每行字符的最大默认值和每页最大行数默认值
事情起因是这样的,小明在写论文的过程中,发现自己的文档的字与字的间距看起来比其他人的字符间距大,于是觉得奇怪,明明设置了一样的格式啊,设置每行38个字符,每页34行,为什么小明写的文档字符间距看着比较 ...
- 远程登录Linux(window下操作Linux)
参考文章:http://www.runoob.com/linux/linux-remote-login.html 1.Window系统上 Linux 远程登录客户端有SecureCRT, Putty, ...
- Netty入门(七)使用SSL/TLS加密Netty程序
为了支持 SSL/TLS,Java 提供了 javax.net.ssl API 的类 SslContext 和 SslEngine 使它相对简单的实现解密和加密.Netty 利用该 API 实现了 C ...