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