まず、 EXPLAINANALYZE を投稿します。 両方のバリアントで確認できます。一方が他方より遅い理由を理解するための最初のステップ。クエリ全体を確認するのにも役立つ場合があります。
最初のバリアントは最適化可能である必要があります。
ユーザーが複数の場所でクエリを変更しないようにするには、を作成することを検討してください。ストアドプロシージャ 、または最初のバリアントが最適化されている場合、表示 。
編集:current__date-'...'::intervalがタイムゾーンなしのタイムスタンプを返すことに注意してください。代わりに日付までキャストしたいと思います:(current_date-'2週間' ::interval)::date