Slow Full Text When using multiple full text searches Thank you in advance for your help.   I have been going bonkers.

We recently made a change to our code by adding an additional contains to the below query.  This has had a real negative impact on performance.  When we remove contains or the other, the query returns right away.

select * 
from dbo.company p with (nolock) 
  join dbo.alt_company o  with (nolock) on p.org_id = o.org_id 
where CONTAINS (p.description, '"phrase1*" OR "phrase2"')  
  or  CONTAINS (o.description, '"phrase1*" OR "phrase2"')  


Why would having the second contains create such havoc on the performance.   The problem is then made worse by the number of keywords.   I have re-written the query in such a way there is only one contains and it works pretty good.  I just want to make sure I understand what's happening.

Thanks,
Pete
One common work-around for slow OR performance is to separate the parts and UNION ALL them back together:

select * 
from dbo.company p with (nolock) 
  join dbo.alt_company o  with (nolock) on p.org_id = o.org_id 
where CONTAINS (p.description, '"phrase1*" OR "phrase2"')  

UNION ALL -- note the "ALL", this will prevent a "DISTINCT"

select * 
from dbo.company p with (nolock) 
  join dbo.alt_company o  with (nolock) on p.org_id = o.org_id 
where CONTAINS (o.description, '"phrase1*" OR "phrase2"')  


You may be able to optimise further by referencing dbo.company only once in each part; I'll leave that to you to decide according to your needs and business rules.

Oh, and stop using select * and WITH (NOLOCK).