SQL Server的外部连接多个链接的字段

问题描述:

我想从两个表中查询数据到一个表使用外部连接。关键是要唯一标识行,需要三个字段。这使我查询包含此表达式:SQL Server的外部连接多个链接的字段

FROM Data1 DB 
    RIGHT OUTER JOIN Data2 FT on (DB.field1 = FT.Value1 
           and DB.field2 = FT.field2 
           and DB.field3 = FT.field3) 

但是,查询运行几乎永远。为了测试我使用WHERE条件和FULL OUTER JOIN的全部内容,并且在WHERE条件下它几乎是立即完成的,而使用FULL OUTER JOIN我遇到了同样的麻烦,并且通常最终在5分钟左右之后取消整个事情。

任何人都可以看到我做错了我的查询?谢谢你的帮助!

+2

您的FK字段是否已编入索引? – HLGEM

你是否真的需要查询中的所有记录?一些WHERE标准可以大大缩短执行时间。

是的,和索引。检查计划并创建推荐索引。

最好的办法是查看执行计划(如果您对此感到满意,请在您的问题中张贴截图)。这会告诉你查询中最昂贵的部分在哪里。