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
>
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 |