Вопрос внутреннего и левого соединения SQL

У меня очень плохо выполняющийся sql-запрос. Я отследил это до INNER JOIN, выполненного на столе. Изменение этого на LEFT join значительно увеличивает производительность (с 6 минут до 20 секунд) - теперь я знаю, что 2 не эквивалентны, но ... вот что я спрашиваю

SELECT * 
  FROM SomeTable ST
  JOIN BigTable BT ON BT.SomeID = ST.SomeID 
                  AND BT.Something = ST.Something 
                  AND BT.AnotherValue = '123'

Поскольку у соединения есть дополнительные критерии (и something = something ) - меняет это на левое соединение, дающее те же результаты - но НАМНОГО быстрее?

Возвращаемые результаты такие же, как LEFT / INNER, а left - значительно быстрее ...

7
задан OMG Ponies 30 June 2011 в 00:44
поделиться