OR子句需要更长的时间

我有一个查询作为下面的示例,但它永远运行..如果执行联合,则我复制了整个大型查询..此修复程序的任何帮助

select columns 
 from table a
 join (select *
         from ( select *, row_number() over( partition BY id ORDER BY date ) row_seq
                  from table b
              ) where row_seq = 1
       ) o ON  a.id = o.id OR  a.id = o.src_id 
 left join table p  on a.partner_c = p.id
 left join table pp on a.parnt_id = pp.id