I have PostgreSQL 12 DB with a table with a several columns, two of them are a bigint ("numCol") and a boolean ("boolCol"). numCol can have any integer number, and 0 is about 0.1%-5% of the table. It is frequently updated. The table can be big (>1B rows)
I have frequent queries for numCol=0 and boolCol is false, so I created a partial btree index:
myindex(numCol,boolCol) where numCol = 0 and boolCol is false.
Although the query performance is good, this index will have a single value, and I think that btree might consume more disk space than necessary.
Is there a more suitable index type for this case? What is the best practice in such cases?