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

Beschleunigen Sie plpgsql, das Dokumenttypen in einer Schleife zählt?

Es sollte schneller sein, alle vier Variablen in einer Abfrage zuzuweisen (nur ein Tabellen- oder Index-Scan):

SELECT INTO validador, validador2, validador3, validador4
            sum(CASE id_tipo_cifra WHEN 901 THEN 1 ELSE 0 END)
           ,sum(CASE id_tipo_cifra WHEN 902 THEN 1 ELSE 0 END)
           ,sum(CASE id_tipo_cifra WHEN 905 THEN 1 ELSE 0 END)
           ,sum(CASE id_tipo_cifra WHEN 907 THEN 1 ELSE 0 END)
FROM   webdte.doc_tip_cifra
WHERE  id_doc = id_documento;

Gleiches Ergebnis.

Normalerweise müssten Sie id_doc überprüfen für NULL zusätzlich, aber da hast du ein WHERE Bedingung mit = darauf darf es nicht NULL sein .