Junte-se após os filtros (por exemplo, junte os resultados), não tente ingressar e depois filtrar.
O motivo é que você perde o uso de seu índice de texto completo.
Esclarecimento em resposta ao comentário:estou usando a palavra join genericamente aqui, não como
JOIN
mas como sinônimo de mesclar ou combinar. Estou essencialmente dizendo que você deve usar a primeira consulta (mais rápida), ou algo parecido. A razão pela qual é mais rápido é que cada uma das subconsultas é suficientemente organizada para que o banco de dados possa usar o índice de texto completo dessa tabela para fazer a seleção muito rapidamente. Unindo os dois conjuntos de resultados (presumivelmente muito menores) (com
UNION
) também é rápido. Isso significa que a coisa toda é rápida. A versão lenta acaba percorrendo muitos dados testando-os para ver se é o que você deseja, em vez de selecionar rapidamente os dados e pesquisar apenas as linhas que você provavelmente deseja.