Ваше утверждение будет работать, но если вы сделаете это так, оптимизатор будет более эффективным:
select *
from A inner
join B on A.store=B.store and A.line=B.line and B.id=0
Здесь можно исключить элементы, в которых b.id не равен нулю, прежде чем выполнить слияние. , В зависимости от топологии размера таблицы et c это может быть весьма значительным.
Например, рассмотрим случай, когда у вас есть 50 миллионов строк, совместно используемых на 5 узлах таблицы b и 1 узле для таблицы a - в вашем коде все Записи должны быть перемещены на узел с таблицей, в то время как с кодом выше должны быть перемещены только записи с идентификатором = 0.
Это может быть очень не интуитивно понятно, когда a является маленьким таблица (которая часто только на одном узле.)