左连接挂起

时间:2011-09-22 22:41:29

标签: tsql left-join

我试图找出可能导致左连接挂起的原因。我把一个问题缩小到一个特定的桌子,但我不能为我的生活找出可能发生的事情。基本上,我有两个表,让我们称它们为表A和表B.当我将表A连接到表B(它与表B的1对1关系并不总是与表A有相关记录)时,查询挂起。当我将表A连接到表B时,它运行大约半秒钟,返回大约27,000条记录。为什么当我运行左连接时,它应该花费更长的时间而不是更多,它会挂起?我可以在表B中输入错误的数据吗?我加入的领域是bigint的。我很难过这个。任何帮助将不胜感激。

这是我的sql:

select
RegMemberTrip.idmember,
RegParent1.idMember_Parent1,
regparent1.idParent1
from
regmembertrip
left join
regparent1 on RegMemberTrip.idmember = regparent1.idMember_Parent1
where
regmembertrip.IDRound = 25
  • RegParent1是一个视图
  • 如果我将where条件更改为'= 24',它可以正常工作。 IDRound = 25是相当新的数据。就像我说的那样,如果我保持这种方式(idround = 25)并且内连接它可以正常工作。

谢谢,

1 个答案:

答案 0 :(得分:2)

您是否在管理控制台中尝试过执行路径工具?你确定你的左连接实际上不是在A和B上做一个巨大的笛卡尔积吗?