From: | Christoph Moench-Tegeder <cmt(at)burggraben(dot)net> |
---|---|
To: | Ron <ronljohnsonjr(at)gmail(dot)com> |
Cc: | pgsql-general list <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Example code Re: Singleton SELECT inside cursor loop |
Date: | 2022-10-01 12:21:15 |
Message-ID: | Yzgwu2MHvqlfkdwH@elch.exwg.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
## Ron (ronljohnsonjr(at)gmail(dot)com):
> Note how quickly it runs the first five times, but takes 780x longer the
> sixth time I run it. Exiting psql and entering again causes the same
> slowness the sixth time it's run.
Tanks at the sixth time? That rings a bell: "The current rule for this
is that the first five executions are done with custom plans[...]" from
https://www.postgresql.org/docs/12/sql-prepare.html
And your functions create prepared statements under the hood:
https://www.postgresql.org/docs/12/plpgsql-implementation.html#PLPGSQL-PLAN-CACHING
I guess you should visit
https://www.postgresql.org/docs/12/runtime-config-query.html#GUC-PLAN-CACHE_MODE
and try if plan_cache_mode = force_custom_plan helps here.
Regards,
Christoph
--
Spare Space
From | Date | Subject | |
---|---|---|---|
Next Message | Julien Rouhaud | 2022-10-01 12:24:21 | Re: Names of run-time configuration parameters (was: Limiting the operations that client-side code can perform upon its database backend's artifacts) |
Previous Message | Peter J. Holzer | 2022-10-01 12:20:00 | Re: Example code Re: Singleton SELECT inside cursor loop |