为什么Informatica PowerCenter的查找缓存比直接查找源更快?
我明白它更快,但为什么?直接查找和缓存查找都在磁盘表上查询。我希望它能在内存中缓存,因为它更快。
此处提供更多信息:http://www.clearpeaks.com/blog/etl/boost-performance-of-informatica-lookups
缓存查找时:Informatica查询数据库,将整组行带到Informatica服务器并存储在缓存文件中。下次调用此查找时,Informatica将使用缓存的文件。因此,Informatica会节省时间和资源以再次访问数据库。 - 请参阅:http://www.clearpeaks.com/blog/etl/boost-performance-of-informatica-lookups#sthash.fVWQ440D.dpuf
为什么使用缓存文件比使用缓存文件更快?
答案 0 :(得分:2)
在直接/非缓存查找中,Informatica会针对每条记录在数据库上触发一个select查询。因此,如果有一百万条记录来自源代码,它将会在数据库中达到一百万次。这需要数据库端的时间以及通过网络移动数据。通过网络重复移动小块数据比将其作为一个整体发送更昂贵。
但是在缓存查找中,Informatica会一次获取整个记录集并将其缓存在 native 服务器中。此外,根据您的条件列,缓存已排序和已编入索引。现在,当需要执行查找时,它只是搜索(有非常有效的搜索算法,如二进制搜索)缓存中的输入字段,这要快得多。