Queries with conditions using bitand operator - Mailing list pgsql-performance

From Elias Ghanem
Subject Queries with conditions using bitand operator
Date
Msg-id 4C3C5279.5090108@acteos.com
Whole thread Raw
Responses Re: Queries with conditions using bitand operator  (Andy Colson <andy@squeakycode.net>)
Re: Queries with conditions using bitand operator  (Joe Conway <mail@joeconway.com>)
List pgsql-performance
Hi,
I have table "ARTICLE" containing a String a field "STATUS" that
represents a number in binary format (for ex: 10011101).
My application issues queries with where conditions that uses BITAND
operator on this field (for ex: select * from article where status & 4 = 4).
Thus i'm facing performance problemes with these select queries: the
queries are too slow.
Since i'm using the BITAND operator in my conditions, creating an index
on the status filed is useless
  and since the second operator variable (status & 4 = 4; status & 8 =
8; status & 16 = 16...) a functional index is also usless (because a
functional index require the use of a function that accept only table
column as input parameter: constants are not accepted).
So is there a way to enhance the performance of these queries?
Thanks,
Elias

pgsql-performance by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: partition queries hitting all partitions even thoughcheck key is specified
Next
From: Dimitri Fontaine
Date:
Subject: Re: Pooling in Core WAS: Need help in performance tuning.