Skip site navigation (1) Skip section navigation (2)

Queries with conditions using bitand operator

From: Elias Ghanem <e(dot)ghanem(at)acteos(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Queries with conditions using bitand operator
Date: 2010-07-13 11:48:09
Message-ID: 4C3C5279.5090108@acteos.com (view raw or flat)
Thread:
Lists: 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

Responses

pgsql-performance by date

Next:From: Dimitri FontaineDate: 2010-07-13 14:42:23
Subject: Re: Pooling in Core WAS: Need help in performance tuning.
Previous:From: damien hostinDate: 2010-07-13 08:51:47
Subject: Re: Slow query with planner row strange estimation

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group