Sans voir les structures de table et le plan d'exécution, je peux proposer deux choses :
1) Ajoutez les index appropriés s'ils n'existent pas encore.
2) Créez une table temporaire avec ce WITH
clause, puis utilisez le même select sur la table.