Nie używałbym wydajności jako decydującego czynnika tutaj – i szczerze mówiąc, nie sądzę, aby istniała jakakolwiek mierzalna różnica wydajności między tymi dwoma przypadkami, naprawdę.
Zawsze używałbym przypadku nr 2 - dlaczego? Ponieważ moim zdaniem, w klauzuli JOIN należy umieścić tylko rzeczywiste kryteria, które ustanawiają JOIN między dwiema tabelami - wszystko inne należy do klauzuli WHERE.
Wystarczy utrzymać rzeczy w czystości i umieścić je tam, gdzie ich miejsce, IMO.
Oczywiście są przypadki z LEFT OUTER JOIN, w których umieszczenie kryteriów ma wpływ na to, jakie wyniki zostaną zwrócone – takie przypadki byłyby oczywiście wykluczone z mojej rekomendacji.
Marek