PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Przyspieszyć plpgsql, który zlicza typy dokumentów w pętli?

Przypisanie wszystkich czterech zmiennych w jednym zapytaniu powinno być szybsze (tylko jedna tabela lub skanowanie indeksu):

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;

Ten sam wynik.

Normalnie musiałbyś sprawdzić id_doc dla NULL dodatkowo, ale ponieważ masz WHERE warunek z = na nim nie może być NULL .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. błąd pg_restore:rola XXX nie istnieje

  2. wprowadzenie zmian do funkcji w pakiecie R i instalacja na Ubuntu

  3. Jak wstawić takie rzeczy jak now() -interval '2 minutes' do zapytania PHP PDO?

  4. RAILS:Jak zapytać o wszystkie obiekty, których każde powiązanie ma atrybut inny niż null?

  5. Pobierz ostatnią znaną wartość dla każdej kolumny wiersza