title: LEFT INNER JOIN vs. LEFT OUTER JOIN - Why does the OUTER take longer?
body: <p>We have the query below. Using a LEFT OUTER join takes 9 seconds to execute. Changing the LEFT OUTER to an LEFT INNER reduces the execution time to 2 seconds, and the <strong>same</strong> number of rows are returned. Since the same number of rows from the dbo.Accepts table are being processed, regardless of the join type, why would the outer take 3x longer?</p>
  
  <pre><code>SELECT CONVERT(varchar, a.ReadTime, 101) as ReadDate,
         a.SubID,
         a.PlantID,
         a.Unit as UnitID,
         a.SubAssembly,
         m.Lot
    FROM dbo.Accepts a WITH (NOLOCK)
  LEFT OUTER Join dbo.Marker m WITH (NOLOCK) ON m.SubID = a.SubID
  WHERE a.LastModifiedTime BETWEEN @LastModifiedTimeStart AND @LastModifiedTimeEnd 
    AND a.SubAssembly = '400'
  </code></pre>