Considere também indexar suas tabelas. Estamos executando várias junções à esquerda em uma tabela de mais de 1 milhão de registros que não leva mais de um ou dois segundos para retornar os resultados.