Re: using new bitmap scans to index bit columns?

From: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>
To: "TJ O'Donnell" <tjo(at)acm(dot)org>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: using new bitmap scans to index bit columns?
Date: 2005-11-09 18:45:46
Message-ID: Pine.GSO.4.63.0511092145140.29329@ra.sai.msu.su
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, 9 Nov 2005, TJ O'Donnell wrote:

> I like the new bitmap scans and I'm wondering if there is any way
> I can utilize them for my bitmask column, defined as bit(1024).
> I use this column as a sort of fingerprint to quickly scan my tables.
> But it is a scan, not an index. I have not figured out a way to
> index the bitmask column. Is there some way it can be used as
> an index now that there are bitmap scans in 8.1?
>
> Currently I do this:
> Select * from mytable where contains(bitmask, fingerprint(user_data))
> and matches(datacolumn, user_data);
>
> user_data is a string, like a regexp but with different semantics for
> chemical data.
> bitmask is precomputed/stored as bit(1024) = fingerprint(datacolumn)
> contains(a,b) returns bool as 'select b=(a&b);'
>
> This works well because matches() is an expensive functions.
> But it would work better if bitmask could be indexed, no?

You can use GiST to do that.

>
> TJ O'Donnell
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg(at)sai(dot)msu(dot)su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Martijn van Oosterhout 2005-11-09 18:52:04 Re: using new bitmap scans to index bit columns?
Previous Message Michael Fuhr 2005-11-09 18:44:36 Re: Where Statement