Tout d'abord, postez EXPLAIN ANALYZE sur les deux variantes afin que nous puissions voir. Première étape pour comprendre pourquoi l'un est plus lent que l'autre. Il peut également être utile de voir l'intégralité de la requête.
La première variante doit être optimisable.
Pour ne pas que votre utilisateur modifie votre requête à plusieurs endroits, envisagez d'écrire un procédure stockée , ou si/quand votre première variante est optimisée, une vue .
Edit :remarqué que votre current__date - '...'::interval renverrait un horodatage sans fuseau horaire. Je suppose que vous voulez diffuser à ce jour à la place :(current_date - '2 weeks'::interval)::date