Thanks Fabien,

But the 2 direct questions i have are :

1. What is the structure of the Bloom Index ? Can you please let me know
what are the fields of a Bloom Index ? Is it just the Item Pointer
and BloomSignatureWord ?
When i describe my bloom index it looks like following.

postgres=# \d+ foo.idx_bloom_bar
                   Index "foo.idx_bloom_bar"
 Column  |  Type   | Key? | Definition | Storage | Stats target
---------+---------+------+------------+---------+--------------
 id      | integer | yes  | id         | plain   |
 dept    | integer | yes  | dept       | plain   |
 id2     | integer | yes  | id2        | plain   |
 id3     | integer | yes  | id3        | plain   |
 id4     | integer | yes  | id4        | plain   |
 id5     | integer | yes  | id5        | plain   |
 id6     | integer | yes  | id6        | plain   |
 zipcode | integer | yes  | zipcode    | plain   |
bloom, for table "foo.bar"
Options: length=64, col1=4, col2=4, col3=4, col4=4, col5=4, col6=4, col7=4,
col8=4

2. If we are storing just one signature word per row, how is this
aggregated for all column values of that row into one signature in high
level ?
For example, if length = 64, does it mean that a bit array of 64 bits is
generated per each row ?
If col1=4, does it mean the value of col1 is passed to 4 hash functions
that generate 4 positions that can be set to 1 in the bit array ?

On Sat, Jun 8, 2019 at 3:11 AM Fabien COELHO <coe...@cri.ensmp.fr> wrote:

>
> Hello Avinash,
>
> > I was testing bloom indexes today. I understand bloom indexes uses bloom
> > filters. [...]
> >
> > So the question here is -
> > I assume - number of bits = k. Where k is the total number of hash
> > functions used on top of the data that needs to validated. Is that
> correct
> > ? If yes, why do we see the Index 1 performing better than Index 2 ?
> > Because, the data has to go through more hash functions (4 vs 2) in
> Index 1
> > than Index 2. So, with Index 1 it should take more time.
> > Also, both the indexes have ZERO false positives.
> > Please let me know if there is anything simple that i am missing here.
>
> You may have a look at the blog entry about these parameters I redacted a
> few year ago:
>
>    http://blog.coelho.net/database/2016/12/11/postgresql-bloom-index.html
>
> --
> Fabien.
>
>
>

-- 
9000799060

Reply via email to