Re: Slow planning, fast execution for particular 3-table query

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: David Wheeler <dwheeler(at)dgitsystems(dot)com>, "pgsql-performance(at)lists(dot)postgresql(dot)org" <pgsql-performance(at)lists(dot)postgresql(dot)org>
Cc: Cameron Redpath <credpath(at)dgitsystems(dot)com>
Subject: Re: Slow planning, fast execution for particular 3-table query
Date: 2019-11-04 04:37:00
Message-ID: 2e94543c5f92f6902ae51a5e6f4f569558fb548a.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Mon, 2019-11-04 at 03:04 +0000, David Wheeler wrote:
> We’re having trouble working out why the planning time for this particular query is slow
> (~2.5s vs 0.9ms execution time). As you can see below, there are only 3 tables involved
> so it’s hard to imagine what decisions the planner has to make that take so long. After
> 5 runs the prepared-statement code kicks in and it becomes quick, but it’s quite
> infuriating for the first 5 runs given the execution is so much faster.
>
> Are you able to give any tips what might be taking so long (and how we might improve it)?
>
[...]
> Planning time: 2429.682 ms
>
> Execution time: 0.914 ms

Strange.
Are any of your catalog tables unusually large?

SELECT pg_relation_size(t.oid),
t.relname
FROM pg_class AS t
JOIN pg_namespace AS n ON t.relnamespace = n.oid
WHERE t.relkind = 'r'
ORDER BY pg_relation_size(t.oid) DESC
LIMIT 10;

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message David Wheeler 2019-11-04 04:42:00 Re: Slow planning, fast execution for particular 3-table query
Previous Message David Wheeler 2019-11-04 03:04:45 Slow planning, fast execution for particular 3-table query