Ssis 如何在多个查找之间重用缓存

Ssis 如何在多个查找之间重用缓存,ssis,Ssis,我有一个SSI2008包,它增量加载一个具有10M条记录的表客户端和一个具有6M条记录的表ClientRelations。客户关系是两个客户机之间的关系 在RelatedClientsETL数据流中,我从平面文件源获取关系,并在同一个Clients表上进行两次查找 在这里使用缓存连接管理器好吗,还是应该在两个查找上都使用部分缓存查找选项?或者你建议另一种选择 执行此程序包的生产SQL Server的内存=8GB通常,在查找时最好使用完全缓存模式,因为这将减少数据库负载,从而减少数据库上的命中次数

我有一个SSI2008包,它增量加载一个具有10M条记录的表客户端和一个具有6M条记录的表ClientRelations。客户关系是两个客户机之间的关系

在RelatedClientsETL数据流中,我从平面文件源获取关系,并在同一个Clients表上进行两次查找

在这里使用缓存连接管理器好吗,还是应该在两个查找上都使用部分缓存查找选项?或者你建议另一种选择


执行此程序包的生产SQL Server的内存=8GB

通常,在查找时最好使用
完全缓存模式,因为这将减少
数据库负载
,从而减少数据库上的
命中次数。因为您有足够的内存来保存数据,我建议您使用完全缓存。SSIS使用
面向缓冲区的体系结构
来有效地加载和操作
内存中的数据集
,因此在这种模式下查找速度会更快

部分缓存模式通常是避免的,而且也是如此。它仅在需要处理的行数较少的情况下才有用。它仅在找到匹配项时才缓存数据。没有像
完全缓存
那样进行预执行缓存,因此加载时间很快,但对数据库的命中次数更多

CCM
Cache Connection Manager
)用于重新使用缓存以减少
数据库负载
,但您需要在查找中使用
OleDB Connection vs CCM
进行自我测试

有一个免费的工具,可以帮助您监控单个任务的性能,或者尝试隔离您的目标和除lookpup和source之外的其他组件。 用行数转换替换目标,并通过在“执行结果”选项卡中检查(时间、行数)来测量性能。对
Full Cache
CCM


这里有一个很好地解释了SSIS总体性能的方法

感谢您提供有关行数的提示。我已经有了Bidshelper,但之前没有使用性能监视器。白皮书也是+1!