Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come aggiungere più ricerche OR con CONTAINS Brings Query to Crawl?

Sarei curioso di vedere se un LEFT JOIN a un CONTAINSTABLE equivalente avrebbe prestazioni migliori. Qualcosa come:

SELECT     a.CollectionID
FROM       collections    a
INNER JOIN determinations b ON a.CollectionID = b.CollectionID 
LEFT JOIN CONTAINSTABLE(a, *, '"*fa*"') ct1 on a.CollectionID = ct1.[Key]
LEFT JOIN CONTAINSTABLE(b, *, '"*fa*"') ct2 on b.CollectionID = ct2.[Key]
WHERE      a.CollrTeam_Text LIKE '%fa%'
           OR ct1.[Key] IS NOT NULL
           OR ct2.[Key] IS NOT NULL