Rencana kueri untuk kueri ad-hoc tidak di-cache, hanya untuk pernyataan yang disiapkan
. Dan fungsi PL/pgSQL menangani semua pernyataan SQL seperti pernyataan yang disiapkan secara internal. (Dengan pengecualian SQL dinamis dengan EXECUTE
.) Masing-masing untuk ruang lingkup sesi saat ini, tidak lebih.
Jadi fungsi PL/pgSQL (bukan fungsi SQL!) dapat membantu dengan eksekusi berulang dari kueri canggih dalam sesi yang sama. Sama seperti pernyataan yang disiapkan.
Perangkat lunak klien mungkin menggunakan pernyataan yang disiapkan secara default. Atau protokol "permintaan yang diperluas" , dengan efek yang sama.
Terkait:
Jawaban terkait yang memulai utas di pgsql-general Anda mengacu pada:
Pertimbangkan juga bab Rencanakan Caching untuk PL/pgSQL di manual.