I am not sure, if the goal is just for the specific set of predicates or
performance in general.

Also from the explain plan, it seems there is still a significant  amount
of buffers read vs hit.
That would constitute i/o and may add to slow result.

What is the size of the table and the index ?
Is it possible to increase shared buffers ?
coz it seems, you would end up reading a ton of rows and columns which
would benefit from having the pages in cache.
although the cache needs to be warmed  by a query or via external extension
:)

Can you try tuning by increasing the shared_buffers slowly in steps of
500MB, and running explain analyze against the query.

If the Buffers read are reduced, i guess that would help speed up the query.
FYI, increasing shared_buffers requires a server restart.

As Always,
Ignore if this does not work :)


Thanks,
Vijay



On Fri, 7 May 2021 at 00:56, Andreas Joseph Krogh <andr...@visena.com>
wrote:

> På torsdag 06. mai 2021 kl. 20:59:34, skrev Semen Yefimenko <
> semen.yefime...@gmail.com>:
>
> Yes, rewriting the query with an IN clause was also my first approach, but
> I didn't help much.
> The Query plan did change a little bit but the performance was not
> impacted.
>
>
> CREATE INDEX idx_arcstatus_le1 ON schema.logtable ( archivestatus )
> where (archivestatus <= 1)
> ANALYZE  schema.logtable
>
>
> This resulted in this query plan:
> [...]
>
>
> I assume (4000,4001,4002) are just example-values and that they might be
> anything? Else you can just include them in your partial-index.
>
> --
> Andreas Joseph Krogh
>


-- 
Thanks,
Vijay
Mumbai, India

Reply via email to