У нас есть запрос ниже. Использование соединения LEFT OUTER занимает 9 секунд. Изменение LEFT OUTER на LEFT INNER сокращает время выполнения до 2 секунд, и возвращается число строк одинаковое. Поскольку такое же количество строк из таблицы dbo.Accepts обрабатывается независимо от типа соединения, почему внешний элемент займет 3 раза больше?
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'