Deltag efter filtrene (f.eks. tilføj resultaterne), prøv ikke at deltage og filtrer derefter.
Årsagen er, at du mister brugen af dit fuldtekstindeks.
Præcisering som svar på kommentaren:Jeg bruger ordet join generisk her, ikke som JOIN
men som et synonym for flette eller kombinere.
Jeg siger i bund og grund, at du skal bruge den første (hurtigere) forespørgsel eller noget lignende. Grunden til, at det er hurtigere, er, at hver af underforespørgslerne er tilstrækkeligt overskuelige til, at db'en kan bruge tabellens fulde tekstindeks til at foretage valget meget hurtigt. Sammenføjning af de to (formodentlig meget mindre) resultatsæt (med UNION
) er også hurtig. Det betyder, at det hele er hurtigt.
Den langsomme version ender med at gå gennem masser af data og teste det for at se, om det er det, du vil have, i stedet for hurtigt at vinde dataene ned og kun søge gennem rækker, som du sandsynligvis rent faktisk vil have.