我很好奇LINQ (而不是LINQ to SQL)在幕后如何执行连接,这与SqlServer如何执行连接有关。
SqlServer在执行查询之前生成执行计划。执行计划基本上是一个表达式树,它认为这是执行查询的最佳方式。每个节点都提供了有关是否执行排序、扫描、选择、连接等操作的信息。SqlServer将根据内表和外表中的预期行数、我们正在执行
我正在使用SSIS合并连接sql服务器数据(左)和oracle数据(右)。在合并连接之前,两个数据集都是在源位置排序的。当oracle源只返回一行时,它工作得很好,但当它返回多行时就不行了。即使有几行有匹配的数据,合并连接后也不会返回数据。下面是我的流程:
更多信息:
两者都是预先排序的(源查询中的order by )。oracle源列EXTERNLAL_ID在查询中被转换为整数,即CAST(EX