Re: Performant queries on table with many boolean columns

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: Rob Imig <rimig88(at)gmail(dot)com>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Performant queries on table with many boolean columns
Date: 2016-04-21 10:04:13
Message-ID: 5718A59D.4090706@sigaev.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

> looks like a deal for contrib/bloom index in upcoming 9.6 release
> ​Curious, it doesn't look like it will work with booleans out of the box.
> http://www.postgresql.org/docs/devel/static/bloom.html

There is no rocket science here:
# create table x (v bool);
# create index i on x using bloom ((v::int4));
# set enable_seqscan=off; --because of empty table
# explain select * from x where v::int4 = 1;
QUERY PLAN
------------------------------------------------------------------
Bitmap Heap Scan on x (cost=25.08..35.67 rows=14 width=1)
Recheck Cond: ((v)::integer = 1)
-> Bitmap Index Scan on i (cost=0.00..25.07 rows=14 width=0)
Index Cond: ((v)::integer = 1)

Or cast it to "char" type (with quoting!)

--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message David G. Johnston 2016-04-21 16:12:49 Re: Performant queries on table with many boolean columns
Previous Message Sven Kerkling 2016-04-21 09:49:54 Performance problems with postgres and null Values?