优化之Joiner组件
Joiner组件在运行时需要额外的内存空间处理中间结果,因此会影响性能 可通过查看Joiner performance计数器来决定Joiner组件是否需要优化通过如下方式优化Joiner组件将Master Source指定为具有较少重复键值的Source
以Joiner组件的join条件作为group key对数据进行分组,去重后的数据可以作为唯一键值
当Integration Service处理排序后的joiner转换时,它会每次缓存符合100个键的行
如果Master Source包含多个具有相同键值的行,Integration Service必须缓存更多的行,并且性能可能会降低
比如,join条件是Master.id=Detail.id and Master.name=Detail.name, 则连接条件是id,name
然后Integration Service会执行select id,name from Master group by id, name,其结果集就是唯一键值对的结果集
Integration Service每次会从上述结果集中选出100个(id,name)对,并将符合该100个(id,name)对的记录写入缓存
如果Master中符合这100个(id,name)对的记录有越多,则写入缓存的数据量就越大,则性能就会越慢将Master Source指定为行数较少的源
在session运行时,Joiner组件将Detail Source的每一行与Master Source进行比较
Master Source的行数越少,连接比较的迭代次数就越少,性能就越好
同理,Detail Source的行数越少,每次迭代时遍历的次数也越少尽可能在数据库端进行join操作
将join操作放在数据库端而不是在session里会提高性能
但有时需要join不同数据源,如平面文件,不同类型数据库,此时需要在session里进行join操作
join的类型同样也会对性能有影响,normal join的性能优于outer join并且返回相对较少的记录数可通过如下方式在数据库端进行join:
配置pre-session store procedure,在存储过程里进行数据库表的join操作
Source Qualifier的sqlquery里写脚本进行数据库表的join操作join之前尽可能对input数据排序
如果input数据排过序,则将磁盘读写最小化,因而提高了性能
如果input数据没有排过序,则可将Master Source的记录数尽量减少
优化之Joiner组件相关推荐
- 【Android 内存优化】自定义组件长图组件 ( 长图滚动区域解码 | 手势识别 GestureDetector | 滑动计算类 Scroller | 代码示例 )
文章目录 一.GestureDetector 创建与设置 二.GestureDetector 触摸事件传递 三.触摸滑动操作 四.惯性滑动操作 五.长图滑动组件代码示例 六.运行效果 七.源码及资源下 ...
- 【Android 内存优化】自定义组件长图组件 ( 获取图像宽高 | 计算解码区域 | 设置图像解码属性 复用 像素格式 | 图像绘制 )
文章目录 一.获取图像真实宽高 二.计算解码区域 三.设置解码参数 内存复用 像素格式 四.图像绘制 五.执行效果 六.源码及资源下载 官方文档 API : BitmapRegionDecoder 在 ...
- 拓扑绝缘体 量子计算机,拓扑绝缘体的新应用:优化量子计算机关键组件!
原标题:拓扑绝缘体的新应用:优化量子计算机关键组件! 导读 澳大利亚悉尼大学.微软.美国斯坦福大学的研究人员组成的团队对于大规模量子计算的必要组件进行了小型化处理.2006年,研究人员首次发现了一种新 ...
- React 框架原理与实战——04-03-React Hooks、Chakra-UI、组件性能优化、封装组件库
文章目录 1.Hooks 1.1 React Hooks 介绍 1.1.1 用来做什么 1.1.2 解决什么问题(类组件的不足) 1.2 如何使用 1.2.1 useState() 1.2.2 use ...
- React.js(优化项目结构——组件)
文章目录 一.简介 二.创建 2.1 函数式组件(无状态) 2.2 类组件(有状态) 三.通讯 3.1 逐层通讯 3.1.1 父→子(推荐) 3.1.2 子→父 3.1.3 路由 3.2 集中式管理( ...
- 优化之Aggregator组件
Aggregator组件通常会降低性能,因为它们必须在处理数据之前对数据进行分组 Aggregator组件需要额外的内存来保存中间组结果通过如下方式对Aggregator组件进行优化简化group b ...
- 【Android 内存优化】自定义组件长图组件 ( 自定义组件构造方法 )
文章目录 一.自定义组件构造方法简介 1.View(Context context) 构造函数 2.View(Context context, @Nullable AttributeSet attrs ...
- 小程序sketch_第2部分sketch3d设计应用程序
小程序sketch This is the 2nd part of a 3 part series for Sketch3D, an application to perform sketch-bas ...
- react 组件遍历】_从 Context 源码实现谈 React 性能优化
(给前端大全加星标,提升前端技能) 转自:魔术师卡颂 学完这篇文章,你会收获: 了解Context的实现原理 源码层面掌握React组件的render时机,从而写出高性能的React组件 源码层面了解 ...
最新文章
- spring secrity(二)
- 给定一个数组求里面数字拼在一起组成的最小数字
- OpenCV的Python接口
- html 倒计时 插件,JavaScript使用小插件实现倒计时的方法讲解
- mysql外键实例学生成绩_mysql 外键(foreign key)的详解和实例
- 游戏中用户升级的设计
- 从零开始——安装插件和各种专业术语
- 兄弟9055cdn硒鼓清零_dcp—9020cdn硒鼓怎么清零
- 华为数通hcia认证考试题库有多少题?
- 线性函数、非线性函数与线性回归的区别
- 这三年,一路走来,劈荆斩棘 – Vol 2
- React实现实时/局部刷新
- 小米科学计算机开立方,小米计算器安卓版_小米计算器怎么开立方_小米科学计算器_易玩网...
- ISTQB中的测试条件是什么?和测试用例的前置条件有什么区别?
- FFmpeg windows 录屏(录像)录音 实测
- cisco硬件维修(交换机路由器防火墙模块电源维修)
- word脚注:文字与分隔符间的空格删除
- FreeBSD install
- 8寸Single机台喷淋去胶加工服务
- S32K144:1.时钟配置
热门文章
- 一文看懂芯片后端报告
- Centos7局域网上共享文件夹(Samba服务)
- JavaScript - 语言基础
- 备份恢复Lesson 09. Diagnosing Failures
- LA 4043 Ants
- 数据结构上机实验6.15
- SCAU程序设计在线实训平台_实验_数据结构_实验4
- k m kb mb计算机组成,为什么对计算机存储单位(K,M,G,T)换算,总是糊里又糊涂?
- ffmpeg rtmp推流代码示例
- LeetCode 881. 救生艇