PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Velocizzare plpgsql che conta i tipi di documenti in un ciclo?

Dovrebbe essere più veloce assegnare tutte e quattro le variabili in una query (solo una tabella o scansione dell'indice):

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;

Stesso risultato.

Normalmente dovresti controllare id_doc per NULL in aggiunta, ma dato che hai un WHERE condizione con = su di esso, non può essere NULL .