我们有一个执行速度很慢的查询,这里是场景:服务器 A 上有“调用”数据库,服务器 B 包含要查询的数据库(其中 14 个)。对所有 14 个 DB 使用相同的存储过程。这是 SQL Server 2012/SSIS,服务器和数据库是动态的,通过循环中的表达式。
A 上的存储过程执行 INSERT INTO,通过链接服务器从位于服务器 B 上当前 DB 上的视图中绘制。服务器 B 的视图是从 DB 上的多个表中提取的,实际上 UNIONING 两个子视图,每个子视图都有许多连接。问题是,有没有更好的方法?例如将远程视图执行到 _tmp 表中,拳头并让服务器 B 上的 _tmp 表等待服务器 A 的 INSERT?,或者是否有一些神奇的 SSIS 2010 必须克服这个问题? , ETC?..
任何想法,将不胜感激。