Re: Query planner wants to use seq scan

From: Bertrand Paquet <bertrand(dot)paquet(at)doctolib(dot)fr>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Query planner wants to use seq scan
Date: 2015-10-27 17:33:17
Message-ID: CAN1xZsexuoOTjoNmFhGpOgD-BidFdh-DZTbmfDmXz=pg1sazhg@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi tom,

I did the test yesterday with an index on the three fields, and with a
partial index on organization and status and where is null condition on
handled. I saw no modification on query plan.
May be I forgot to analyze vacuum after. I will retry tonight.

I use a btree index. Is it the good solution, even with the In clause ?

Regards,

Bertrand

Le mardi 27 octobre 2015, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> a écrit :

> Bertrand Paquet <bertrand(dot)paquet(at)doctolib(dot)fr <javascript:;>> writes:
> > We have a slow query. After analyzing, the planner decision seems to be
> > discutable : the query is faster when disabling seqscan. See below the
> two
> > query plan, and an extract from pg_stats.
>
> > Any idea about what to change to help the planner ?
>
> Neither one of those plans is very good: you're just hoping that the
> Filter condition will let a tuple through sooner rather than later.
>
> If you care about the performance of this type of query, I'd consider
> creating an index on (organization_id, status, handled_by) so that all
> the conditions can be checked in the index.
>
> regards, tom lane
>

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message GMail 2015-10-27 18:29:04 Partition Constraint Exclusion Limits
Previous Message Bertrand Paquet 2015-10-27 13:06:41 Re: Query planner wants to use seq scan