Forgot to mention, this is on Postgres 11.2

On Wed, Sep 8, 2021 at 11:04 PM Koen De Groote <kdg....@gmail.com> wrote:

> Greetings all.
>
> Example table:
>
> CREATE TABLE my_table (
>     id serial PRIMARY KEY,
>     a001 BOOLEAN default 't',
>     a002 BOOLEAN default 'f',
>     a003 BOOLEAN default 't',
>     a004 BOOLEAN default 'f'
> );
>
> And these 2 indexes:
>
> create index index_001 on my_table using btree (a001,a002,a003) where
> a001=true and a002=false;
>
> create index index_002 on my_table using btree (a003) where a001=true and
> a002=false;
>
> Now take this query:
>
> select * from my_table where a001=true;
>
> Which index will postgres pick? I'm wondering how postgres goes about
> picking an index to consider.
>
> And if it will consider others if the analysis of the first says a seqscan
> would be better than the index it first considered?
>
> Regards,
> Koen De Groote
>
>

Reply via email to