У меня есть следующий запрос, который использует оператор или в соединении, поэтому, в основном, если не выполнено одно условие в соединении, он должен проверить следующее условие.Проблема заключается в том, что с оператором OR требуется действительно много времени, но когда я удаляю одно из условий OR, оно выполняется мгновенно.есть ли лучший способ сделать это с обоими условиями без использования оператора OR, чтобы он ускорил запрос
select t5.TransactionNumber
,t4.ID
,t3.[Entry] AS Amount
,t2.Address AS AddressDetail
,t1.PhoneNumber AS ContactNumber
FROM Table1 t1 (NOLOCK)
JOIN Table2 t2 (NOLOCK) ON t2.FicaID = t1.FicaId
inner join Table3 t3 (NOLOCK) ON (t3.ID = t2.ID AND t3.Code = t2.Code) or (t3.TypeID = t2.TypeID) //on this join i have an or statement if one condition isnt met it must check the next condition
LEFT JOIN Table4 t4 (NOLOCK) ON t4.Result = t3.Result
LEFT JOIN Table5 t5 (NOLOCK) ON t5.AccNum = t3.AccNum
where t1.date>'2018-09-01' and t1.date<'2018-09-30'