Re: How to observe plan_cache_mode transition from custom to generic plan? - Mailing list pgsql-general

From Mladen Gogala
Subject Re: How to observe plan_cache_mode transition from custom to generic plan?
Date
Msg-id 052c4c64-cd0e-9e14-ae9d-ca0e553a3bbf@gmail.com
Whole thread Raw
In response to How to observe plan_cache_mode transition from custom to generic plan?  (Richard Michael <rmichael@edgeofthenet.org>)
List pgsql-general
On 9/6/21 2:26 AM, Laurenz Albe wrote:
> "Bind variables" just being an Oraclism for parameters, it is*not*  a
> mistake to use them in PostgreSQL.

Actually, it is a mistake because they don't give you any performance 
benefit and can potentially worsen the performance. There is no cursor 
sharing and generic plans can be much worse than "custom" plans, 
generated with the actual values. The only reason for using bind 
variables/parameters is to protect yourself from SQL injection. Creating 
SQL dynamically from input is the recipe for the "little Bobby Tables" 
situation: https://xkcd.com/327/


-- 
Mladen Gogala
Database Consultant
Tel: (347) 321-1217
https://dbwhisperer.wordpress.com




pgsql-general by date:

Previous
From: Ian Dauncey
Date:
Subject: RE: vacuum full
Next
From: "Nick Renders"
Date:
Subject: pg_upgrade - fe_sendauth: no password supplied