или inner join, с одним и тем же набором фильтрациий по полю?
Где еще два поля это параметер передающийся извне?
Или вообще пофиг в даном случае?
select
distinct p.cbsKey,
(еще полей 70 эдак)
from payments p, paymentCardIndex pci
where p.cbsKey = pci.cbsKey
and p.documentDate = pci.documentDate
and ( p.payerSideReferencedAccountKey = ? or p.recipientSideReferencedAccountKey = ?)
тупой ответ = иннер джойн с пустой таблицей отработает быстрее всего
OR в джойне — почти всегда плохо
Понял спасибо
Только сейчас допер. А почему это плохо?
http://www.sqlnuggets.com/blog/performance-problem-when-using-or-in-a-join/ В примере разбирается sql server, и я не могу с уверенностью сказать, что postgresql поведёт себя так же, но or в join'ах — это антипаттерн
http://blog.rhodiumtoad.org.uk/2017/01/22/performance-issues-with-ored-conditions/
Обсуждают сегодня