TSQL - как оптимизатор обрабатывает объединения с неиспользуемыми таблицами
SELECT table1.col1, table2.col1, table2.col2 -- etc.
FROM dbo.table1
LEFT JOIN dbo.table2
on (table1.id = table2.id)
LEFT JOIN dbo.table3
on (table1.id = table3.id)
В приведенном выше простом примере очевидно, что таблица 3 не нужна, однако могут существовать и более сложные случаи.
Вопрос: Может ли оптимизатор запросов TSQL определить, что соединение с таблицей 3 не требуется? Если это так, может ли он пропустить другие оптимизации для более сложных запросов, если table3 не был удален вручную из запроса?
Я использую SSMS 14.017 с базовой базой данных SQL select @@ version = Microsoft SQL Server 2014 (SP3)