Есть ли какой-либо аргумент с точки зрения производительности для фильтрации в соединении, а не в предложении WHERE?
Например,
SELECT blah FROM TableA a
INNER JOIN TableB b
ON b.id = a.id
AND b.deleted = 0
WHERE a.field = 5
В отличие от
SELECT blah FROM TableA a
INNER JOIN TableB b
ON b.id = a.id
WHERE a.field = 5
AND b.deleted = 0
Я лично предпочитаю последнее, потому что считаю, что фильтрацию следует выполнять в разделе фильтрации (ГДЕ), но есть ли какая-либо производительность или другие причины для использования любого метода?