Laurenz,
thank You very much for Your comments!
On Sun, Mar 25, 2018 at 07:12:08AM +0200, Laurenz Albe wrote:
! Your reported execution times don't match the time reported in the
! EXPLAIN output...
Should these match?
It seems the EXPLAIN (ANALYZE, BUFFERS) does additional things, not
just execute the query.
! The cause of the long execution time is clear:
!
! The row count of the join between "places" (WHERE platz = 'WAEHR'),
! "wpnames" and "places AS places_1" is underestimated by a factor of 10
! (1 row instead of 10).
!
! The nested loop join that is chosen as a consequence is now executed
! 10 times instead of the estimated 1 time, which is where almost all the
! execution time is spent.
I've seen this, but do not fully understand it yet.
! Setting "enable_nestloop = off" is as coarse as forcing "from_collapse = 1"
! and will negatively impact other queries - if it helps at all.
Since this query is already put into a function, I found I can easily
set from_collapse=1 only for this function, by means of "ALTER
FUNCTION ... SET ...", so it does only influence this query.
It seems this is the most straight-forward solution here.
rgds,
P.