Dan Black <[EMAIL PROTECTED]> writes:
> 1)
> select * from my_table where active and deleted
> --------------
> Seq Scan on my_table (cost=100000000.00..100000180.00 rows=2500 width=56)
> Filter: (active AND deleted)

> 2)
> select * from my_table where active = true and deleted = true
> -------------
> Index Scan using my_table_index on my_table (cost=0.00..369.00 rows=2500 
> width=56)
> Index Cond: ((deleted = true) AND (active = true))

This is expected: Postgres' internal index API is based around
operators, therefore anything that doesn't look something like
"indexcol operator value" isn't a candidate for an index restriction.

There is a hack in CVS tip that special-cases indexes on boolean
columns so that the above case works, but it's not in any released
version.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to