[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对象中, 在页面刷新的时候将父页面的值取出来, ...
随机推荐
- MySQL——索引实现原理
在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎的索引实现方式. MyISAM索引实现 MyISAM引擎使用B+Tr ...
- React 组件 API
React 组件 API 在本章节中我们将讨论 React 组件 API.我们将讲解以下7个方法: 设置状态:setState 替换状态:replaceState 设置属性:setProps 替换属性 ...
- OpenGL超级宝典笔记——贝塞尔曲线和曲面(转)
http://my.oschina.net/sweetdark/blog/183721 参数方程表现形式 在中学的时候,我们都学习过直线的参数方程:y = kx + b;其中k表示斜率,b表示截距(即 ...
- Linux磁盘空间占满问题快速定位
1.df -h命令查看系统盘与各个磁盘的占用空间比率 [tidb@:vg_adn_tidbCkhsTest:172.31.30.62 /dev]$df -Th Filesystem Type Size ...
- beta冲刺————第一天(1/5)
人员的再次分配: 调走人员:陈裕鹏(原来在本队伍主要进行文章推荐算法的设计) 调入人员:陈邡(原Dipper团队,负责游戏内容的策划案,以及做一些后端的探索工作.) 现队员工作划分: 王国华,吴君毅, ...
- APP性能测试,网易Emmagee工具
APK地址:https://github.com/NetEase/Emmagee/releases/download/V1.2.1/Emmagee-1.2.1.apk 开源代码github地址:htt ...
- STM32学习之路-LCD(2)
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011791262/article/details/27711881 这些天一直在研究LCD的初始化 ...
- 死磕nginx系列--使用nginx做负载均衡
使用nginx做负载均衡的两大模块: upstream 定义负载节点池. location 模块 进行URL匹配. proxy模块 发送请求给upstream定义的节点池. upstream模块解读 ...
- Nescafe #29 NOIP模拟赛
Nescafe #29 NOIP模拟赛 不知道这种题发出来算不算侵权...毕竟有的题在$bz$上是权限题,但是在$vijos$似乎又有原题...如果这算是侵权的话请联系我,我会尽快删除,谢谢~ 今天开 ...
- vue_resource和axios
vue_resource和axios 1. 简介 vue本身不支持发送AJAX请求,需要使用vue-resource.axios等插件实现 axios是一个基于Promise的HTTP请求客户端,用来 ...