PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Die Postgres-Abfrage ist mit current_date::date anstelle des hartcodierten Datums sehr langsam

Posten Sie zunächst EXPLAIN ANALYZE auf beiden Varianten, damit wir sehen können. Erster Schritt, um herauszufinden, warum einer langsamer ist als der andere. Könnte nützlich sein, um auch die gesamte Abfrage zu sehen.

Die erste Variante sollte optimierbar sein.

Damit Ihr Benutzer Ihre Abfrage nicht an mehreren Stellen ändert, sollten Sie ein schreiben gespeicherte Prozedur , oder falls/wenn Ihre erste Variante optimiert ist, eine Ansicht .

Bearbeiten:Beachten Sie, dass Ihr aktuelles Datum - '...' ::Intervall einen Zeitstempel ohne Zeitzone zurückgeben würde. Ich nehme an, Sie möchten stattdessen das Datum umwandeln:(aktuelles_Datum - '2 Wochen'::Intervall)::Datum