Tsql 左连接挂起

Tsql 左连接挂起,tsql,left-join,Tsql,Left Join,我正在试图找出是什么原因导致左连接挂起。我已经把一个问题缩小到了一个具体的表格中,但我一辈子都搞不清楚会发生什么。基本上,我有两个表,让我们称它们为表A和表B。当我将表A连接到表B时,它与表B的关系是1对1,而表B并不总是有与表A相关的记录,因此查询挂起。当我将表A内部连接到表B时,它在大约半秒钟内运行,返回大约27000条记录。为什么当我运行一个左连接时会出现这种情况,它应该需要更长的时间,但不会太长,它会挂起?表B中有坏数据吗?我要加入的领域是bigint。我在这件事上被难住了。任何帮助都将

我正在试图找出是什么原因导致左连接挂起。我已经把一个问题缩小到了一个具体的表格中,但我一辈子都搞不清楚会发生什么。基本上,我有两个表,让我们称它们为表A和表B。当我将表A连接到表B时,它与表B的关系是1对1,而表B并不总是有与表A相关的记录,因此查询挂起。当我将表A内部连接到表B时,它在大约半秒钟内运行,返回大约27000条记录。为什么当我运行一个左连接时会出现这种情况,它应该需要更长的时间,但不会太长,它会挂起?表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”,则效果良好。IDROND=25是一个相当新的数据。就像我说的,如果我保持IDROND=25的方式,加上一个内部连接,它就可以正常工作。 谢谢


Ben

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

你能提供更多信息吗?每个表的模式是什么?一些示例数据?目前有太多的未知数无法得到正确的答案。如果没有sql,这个问题就没有存在的意义。我用sql编辑了我的第一篇文章,并做了更多的解释。希望这有帮助。谢谢您的回复。表A和表B共有多少行?