Sem ver as estruturas da tabela e o plano de execução, posso oferecer duas coisas:
1) Adicione os índices apropriados se eles ainda não existirem.
2) Crie uma tabela temporária com esse
WITH
cláusula e, em seguida, use o mesmo select na tabela. WITH
cláusula e, em seguida, use o mesmo select na tabela.