何时选择在 SSIS 的 Lookup 组件中进行缓存

2024-02-27

在SSIS查找中有3种类型的缓存。 完整、部分和无缓存。

在我们的解决方案中,它一直使用默认的(完整)。是否有任何特定的场景,可以使用部分缓存/无缓存? 在我们的解决方案中,锁定表总是很小(例如:-我们一直在查看小表来获取类型或获取描述)。这可能是它在默认(完整缓存)模式下配置的原因?

请将宝贵的建议和意见告诉我。


让我们介绍一下基础知识。

完全缓存 - 在实际执行数据流之前,完全缓存模式下的所有查找组件都将针对其源运行查询并在本地缓存所有数据。一旦数据流开始,这些转换的源系统就可以被删除,因为集成服务拥有该时间点的所有数据。

部分缓存 - 部分缓存不会预先缓存数据。对于流经转换的每一行,部分缓存将查看其内部缓存以查看查找键是否已通过。如果有,则将使用本地副本。否则,将针对引用的系统触发单例查询以查找该值。如果您有未优化的查找、拉回大量数据、非常独特的源密钥,那么这可能会变得相当昂贵。如果在远程系统中找到匹配项,则该数据将在本地缓存,直到包完成或足够的新查找已生成匹配项并且缓存已满。

无缓存 - 与部分缓存类似,但它将始终对源系统执行查询。即使您的整个导入集只有一个唯一的键值。

为什么我会选择一个而不是另一个

我使用完整缓存,除非有特定原因不这样做。

在数据仓库中,存在一种称为迟到维度的场景。您正在加载应在参考表中具有值的内容,但直到现在您才知道该值的存在!一般解决方案是在加载期间将该值打入参考表中。在完整的缓存中,引用该缺失值的每一行都不会找到它,然后尝试插入它,这会导致重复。部分/无缓存将在第一次未命中时解决此问题,这将导致插入到引用表中,随后的查找将找到它并将其添加到缓存中。

我遇到的另一个需要部分/不需要缓存的场景是当我需要范围查询时。我有桌子SurrogateKey|BusinessKey|StartDate|StopDate我需要查找夹在 StartDate 和 StopDate 之间的 BusinessKey + MyDate。我使用 GUI 将 MyDate 拖到 StartDate,然后在高级编辑器中,修改现有查询以执行 BETWEEN StartDate 和 StopDate 之间的操作(但当然,我不会使用BETWEEN https://sqlblog.org/2009/10/16/bad-habits-to-kick-mis-handling-date-range-queries)

Related

  • 将查找转换部分缓存限制为加载的值 https://stackoverflow.com/questions/19574737/restrict-lookup-transformation-partial-cache-to-loaded-values/19575417#19575417
  • SSIS LookUp 没有像文档所说的那样处理 NULL https://stackoverflow.com/questions/7233766/ssis-lookup-is-not-dealing-with-nulls-like-the-docs-say-it-should/7236036#7236036
  • 查找转换 http://msdn.microsoft.com/en-us/library/ms141821.aspx
  • 区分大小写的查找 http://blogs.msdn.com/b/mattm/archive/2008/11/23/lookup-pattern-case-insensitive.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时选择在 SSIS 的 Lookup 组件中进行缓存 的相关文章

随机推荐

  • 使用 jQuery .attr 或 .prop 设置属性值不起作用

    我创建了一个按钮 其属性名为 loaded 初始值为 no 单击按钮后 我正在运行一些 ajax 并在最后尝试将 已加载 属性设置为 是 以便如果用户多次单击该按钮 ajax 就不会再次运行 我有这样的事情 http jsfiddle ne
  • 滚动条在 WebView 的

    我有包含滚动分区的 Html 文件 当我在 WebView 中添加此 HTML 时 它不会显示该 div 的滚动条 我在 Html 文件中有代码 some Html code table style border 3px solid bla
  • Xcode4 与 Mac OS X 10.4 SDK

    在 Xcode 的最新版本 Xcode 4 0 中 不再包含 10 4 SDK 但是 我仍然需要支持 10 4 和 PowerPC 版本 我已经安装了最新的 Xcode 3 2 6 它仍然包含 10 4 支持 然后我安装了Xcode4 有没
  • 使用 C# 向 USB 连接的 GPRS 调制解调器发送 AT 命令

    任何人都可以给我一个关于如何访问连接到 USB 端口的 GPRS 调制解调器的良好指示或指南 我应该为我的程序制作一个 USB 驱动程序以将 AT 命令发送到调制解调器吗 或者就像一个路由器 我可以使用IP地址访问它 谢谢 如果 Windo
  • JTable 计算正在使用的行数并返回该数字

    我正在做一个小项目 停车场表 它允许您添加 删除和搜索汽车 除此之外 它还意味着返回已经停放的汽车数量 我的问题是 如何编写一个代码来计算已使用的行数并返回正在使用的行数 大概通过按钮或通过标签自动更新 注意 抱歉造成混乱 import j
  • 如何检查命令是否可用或存在?

    我正在 Linux 上用 C 语言开发一个控制台应用程序 现在 它的可选部分 不是必需的 取决于可用的命令 二进制文件 如果我检查system 我越来越sh command not found作为不需要的输出 并将其检测为存在 那么我该如何
  • PasswordDeriveBytes 与 Rfc2898DeriveBytes,已过时但速度更快

    我正在开发基于从 SymmetricAlgorithm 继承的类 例如 TripleDes DES 等 的加密功能 基本上有两个选项可以为我的算法类生成一致的密钥和 IV PasswordDeriveBytes and Rfc2898Der
  • 无法在设备“emulator-5554”上安装 apk:超时

    我是 Android 开发新手 我尝试在此文件夹中运行 LunarLander 项目 根据示例创建新项目 C Program Files Android android sdk windows samples android 9 Lunar
  • 在 Android 10 上以编程方式断开 Wifi

    I use WifiNetworkSuggestion以编程方式将我的应用程序连接到我的热点 但是当我尝试以编程方式断开此连接时 我使用了removeNetworkSuggestions就像文档提到的那样 删除之前的部分或全部网络建议 由应
  • 在 PHP 中管理巨型数组

    我正在为某人对数百万条旧日志条目进行数据挖掘 并且真的想在这件事上使用 PHP 来呈现这些材料 并将它们轻松链接到现有的 PHP 系统 我在终端 OSX 10 8 的 PHP 5 4 4 中运行此代码 Settings ini set er
  • 如何在 R 中显式调用函数参数的默认值?

    如何告诉 R 使用函数参数的默认值 而无需 i 省略函数调用中的参数以及 ii 不知道默认值是什么 我知道我可以使用默认值mean in rnorm rnorm n 100 by omitting the argument or rnorm
  • 如何将 FormsAuthentication cookie 添加到 HttpClient HttpRequestMessage

    我试图通过调用 FormsAuthentication SetAuthCookie someUser false 来验证内部集成测试之后 我确实需要调用 WebAPI 并且不会收到未经授权的异常 因为我已经应用了授权属性 我正在使用此代码来
  • Ruby Koans:为什么将符号列表转换为字符串

    我指的是 Ruby Koans 中 about symbols rb 中的这个测试https github com edgecase ruby koans blob master src about symbols rb L26 https
  • 如何从 Perl 与 ClearCase 交互?

    我的项目需要使用 Excel 工作表中的 Perl 脚本从 ClearCase 数据中提取一些内容 这些内容是 通过给出两条特定的时间线或两条基线 该基线内关联的所有活动 列标题 活动 所有者 ID 列标题 所有者 特定活动中关联的所有元素
  • 插座之间的管道

    我有一个充当镜像的 C 服务器 输入的内容会输出到不同的套接字 现在 它将套接字读入缓冲区并将其写入另一个套接字 我想提高吞吐量 I ve 读东西 http www kegel com c10k html zerocopy about se
  • 点之间的欧几里得距离

    我在 numpy 中有一个点数组 points rand dim n points 我想 计算某个点与所有其他点之间的所有 l2 范数 欧几里得距离 计算所有成对距离 最好都是 numpy 而没有 for 一个人怎样才能做到呢 如果您愿意使
  • PropertyPlaceholderConfigurer 从 XML 文件读取(Apache Commons 配置)

    是否可以配置 Spring PropertyPlaceholderConfigurer 来读取 properties xml 通过 Apache Commons 配置 我在帮助下找到了解决方案seanizer https stackover
  • 如何使用nodejs禁用Chrome的会话恢复警告?

    如何通过 NodeJS 在 Windows 中重新启动 Chromium Google Chrome 信息亭模式 以便它在重新启动时正常启动浏览器 就像普通人使用它一样 当我每次重新启动 Chromium Google chrome 时使用
  • 图像周围出现尴尬的线条

    可能最容易用图像来解释我想要什么 当我浮动图像时 文本围绕它运行 这很棒 但是 根据文本量和图像大小 我经常会遇到这些尴尬的情况 在这种情况下 尴尬的文本在图像旁边的列中看起来会更好 I could根据有多少尴尬的文本为图像添加更多的底部边
  • 何时选择在 SSIS 的 Lookup 组件中进行缓存

    在SSIS查找中有3种类型的缓存 完整 部分和无缓存 在我们的解决方案中 它一直使用默认的 完整 是否有任何特定的场景 可以使用部分缓存 无缓存 在我们的解决方案中 锁定表总是很小 例如 我们一直在查看小表来获取类型或获取描述 这可能是它在