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.
Regards,
Bertrand
Le mardi 27 octobre 2015, Tom Lane <tgl@xxxxxxxxxxxxx> a écrit :
Le mardi 27 octobre 2015, Tom Lane <tgl@xxxxxxxxxxxxx> a écrit :
Bertrand Paquet <bertrand.paquet@xxxxxxxxxxx> 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