2012-11-13 30 views
0

我试图调试此查询没有任何成功。 IN如果我注释掉Pt.pt_id_nbr下面的代码它的工作原理否则查询保留执行很长一段时间调试此查询所需的指针

Declare @sAlias   char(1), 
@sGQOrgId char(3), 
@sID   char(12), 
@sType  char(1), 
@sSource char(2), 
@dcLocationId numeric(18, 0) = NULL 

set @sAlias='N' 
set @sGQOrgId ='' 
Set @sID  ='' 
Set @sType  ='M' 
Set @sSource ='MD' 

SELECT DISTINCT 
     '' 'ImportID',d.GQOrgId, d.DeviceId 
     --,isnull(Pt.Pt_id_nbr,0)as Pt_id_nbr 
     --,Pt.pt_id_nbr works if commented out else the query keeps executing for a long time 
     , DeviceDesc = LTRIM(RTRIM(d.DeviceDesc)), d.Source, 
         SourceDesc = LTRIM(RTRIM(s.SourceDesc)) 
     FROM GasQuality.dbo.Device AS d WITH (NoLock) 
     JOIN GasQuality.dbo.SourceCodes AS s WITH (NoLock) 
     ON  s.Source = d.Source 
     left join elm_qa.elm.dbo.pt_sys_xref as Pt WITH (NoLock) 
     ON d.DeviceID = Pt.REF_VAL and (Pt.OLD_SYS_ID = 'PK' and Pt.VAL_TYPE_CD = 'OM') 
     WHERE s.Type = @sType AND 
      d.GQOrgId LIKE RTRIM(@sGQOrgId) + '%' 
      AND d.Source LIKE RTRIM(@sSource) + '%' 
      AND d.DeviceId LIKE RTRIM(@sID) + '%' 

     ORDER BY d.GQOrgId, d.DeviceId, d.Source 
+0

查看快速运行的查询和不运行的查询之间的执行计划 – HLGEM

+0

我无权查看执行路径 – sanika

回答

0

然后,我会尝试,因为一组通过,而不是不同。