| From: | Justin Pryzby <pryzby(at)telsasoft(dot)com> |
|---|---|
| To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
| Cc: | Krzysztof Plocharz <plocharz(at)9livesdata(dot)com>, "pgsql-performance(at)lists(dot)postgresql(dot)org" <pgsql-performance(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: Planning performance problem (67626.278ms) |
| Date: | 2019-04-08 14:42:10 |
| Message-ID: | 20190408144210.GG10080@telsasoft.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
On Mon, Apr 08, 2019 at 04:33:34PM +0200, Pavel Stehule wrote:
> po 8. 4. 2019 v 16:11 odesílatel Krzysztof Plocharz <plocharz(at)9livesdata(dot)com> napsal:
>
> > We have some very strange query planning problem. Long story short it
> > takes 67626.278ms just to plan. Query execution takes 12ms.
> >
> > Query has 7 joins and 2 subselects.
> > It looks like the issue is not deterministic, sometimes is takes few ms
> > to plan the query.
> >
> > One of the tables has 550,485,942 live tuples and 743,504,012 dead
> > tuples. Running ANALYZE on that tables solves the problem only temporarily.
> >
> > Question is how can we debug what is going on?
>
> please check your indexes against bloating. Planner get min and max from
> indexes and this operation is slow on bloat indexes.
I think that's from get_actual_variable_range(), right ?
If it's due to bloating, I think the first step would be to 1) vacuum right
now; and, 2) set more aggressive auto-vacuum, like ALTER TABLE t SET
(AUTOVACUUM_VACUUM_SCALE_FACTOR=0.005).
What version postgres server ?
Justin
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Krzysztof Plocharz | 2019-04-08 14:55:36 | Re: Planning performance problem (67626.278ms) |
| Previous Message | Pavel Stehule | 2019-04-08 14:33:34 | Re: Planning performance problem (67626.278ms) |