sql >> Databasteknik >  >> RDS >> PostgreSQL

Snabba upp plpgsql som räknar dokumenttyper i en loop?

Det borde vara snabbare att tilldela alla fyra variablerna i en fråga (endast en tabell eller indexskanning):

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;

Samma resultat.

Normalt måste du kontrollera id_doc för NULL dessutom, men eftersom du har en WHERE skick med = på den kan den inte vara NULL .




  1. Snabba upp ett stort antal mysql-uppdateringar och -inlägg

  2. Doctrine querybuilder DATE_FORMAT fungerar inte

  3. Oracle RAC och sekvenser

  4. Sortera efter värdeordning i en select-sats i sats i mysql