sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-prestaties van ad-hoc SQL versus functies

Het queryplan voor ad-hocquery's is niet cached, alleen voor voorbereide instructies . En PL/pgSQL-functies verwerken alle SQL-statements zoals voorbereide statements intern. (Met de opmerkelijke uitzondering van dynamische SQL met EXECUTE .) Elk voor de reikwijdte van de huidige sessie, niet daarbuiten.

Dus PL/pgSQL-functies (geen SQL-functies!) kunnen helpen bij het herhaaldelijk uitvoeren van geavanceerde query's binnen dezelfde sessie. Net als voorbereide verklaringen.

Clientsoftware kan standaard voorbereide overzichten gebruiken. Of het "extended query"-protocol , met hetzelfde effect.

Gerelateerd:

Het gerelateerde antwoord dat begon de draad op pgsql-general je verwijst naar:

Bekijk ook het hoofdstuk Caching plannen voor PL/pgSQL in de handleiding.




  1. In clausule versus OR-clausule qua prestaties

  2. Hoe kunnen we ISNULL gebruiken voor alle kolomnamen in SQL Server 2008?

  3. PostgreSQL-unnest met lege array

  4. Een waarde van een versleuteld veld uniek maken