Първо, публикувайте EXPLAIN ANALYZE и на двата варианта, за да видим. Първа стъпка в разбирането защо едното е по-бавно от другото. Може да е полезно да видите и цялата заявка.
Първият вариант трябва да може да се оптимизира.
Що се отнася до това, че вашият потребител не променя вашата заявка на няколко места, помислете за писане на съхранена процедура , или ако/когато първият ви вариант е оптимизиран, изглед .
Редактиране:Забелязах, че вашата текуща__дата - '...'::interval ще върне клеймо за време без часова зона. Предполагам, че вместо това искате да прехвърлите към дата:(current_date - '2 седмици'::interval)::date