Re: Indexing queries with bit masks

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Mike Christensen <mike(at)kitchenpc(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Indexing queries with bit masks
Date: 2010-04-30 15:08:08
Message-ID: 24924.1272640088@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Mike Christensen <mike(at)kitchenpc(dot)com> writes:
> When a certain event happens, let's say event 4, I need to query for which
> users to notify. So I'll be doing something like:

> SELECT UserId FROM Users WHERE Subscriptions & 8;

> My question is say there's a million rows in the Users table. If I have an
> index on Subscriptions, will this index be used in the above query?

No. At least not with a standard btree index.

I'm not exactly sure that an index would be helpful at all --- it seems
like the selectivity of this condition won't be very good anyway, will
it? The more popular notifications will be subscribed to by a large
fraction of the user base. Maybe it'd be useful to index unpopular
notifications, but how often will you be searching for those?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Peter Hunsberger 2010-04-30 15:52:32 Re: Indexing queries with bit masks
Previous Message Tom Lane 2010-04-30 14:59:53 Re: timestamp convert to date