Prima di tutto, pubblica EXPLAIN ANALYZE su entrambe le varianti così possiamo vedere. Primo passo per capire il nostro perché uno è più lento dell'altro. Potrebbe essere utile vedere anche l'intera query.
La prima variante dovrebbe essere ottimizzabile.
Per evitare che il tuo utente modifichi la tua query in più punti, considera di scrivere un procedura memorizzata o se/quando la tua prima variante è ottimizzata, una vista .
Modifica:ho notato che la tua data__corrente - '...'::intervallo restituirebbe un timestamp senza fuso orario. Presumo che tu voglia invece trasmettere fino ad oggi:(current_date - '2 weeks'::interval)::date