Index on column with only 2 distinct values

Posted by Will on Stack Overflow See other posts from Stack Overflow or by Will
Published on 2010-03-23T18:18:08Z Indexed on 2010/03/23 18:33 UTC
Read the original article Hit count: 303

Filed under:
|
|
|
|

I am wondering about the performance of this index:

I have an "Invalid" varchar(1) column that has 2 values: NULL or 'Y' I have an index on (invalid), as well as (invalid, last_validated) Last_validated is a datetime (this is used for a unrelated SELECT query)

I am flagging a small amount of items (1-5%) of rows in the table with this as 'to be deleted'.
This is so when i

 DELETE FROM items WHERE invalid='Y'

it does not perform a full table scan for the invalid items.

A problem seems to be, the actual DELETE is quite slow now, possibly because all the indexes are being removed as they are deleted.

Would a bitmap index provide better performance for this? or perhaps no index at all?

© Stack Overflow or respective owner

Related posts about sql

Related posts about Oracle