Re: JSON vs Text + Regexp Index Searching - Mailing list pgsql-general

From Eliot Gable
Subject Re: JSON vs Text + Regexp Index Searching
Date
Msg-id CAD-6L_Uzx3db=PBnNCo7H4C=emPkTtFbQOSAJQvrLnc9eCFhig@mail.gmail.com
Whole thread Raw
In response to Re: JSON vs Text + Regexp Index Searching  (Eliot Gable <egable+pgsql-general@gmail.com>)
List pgsql-general
On Tue, Feb 25, 2014 at 3:13 PM, Eliot Gable <egable+pgsql-general@gmail.com> wrote:
On Tue, Feb 25, 2014 at 11:17 AM, David Johnston <polobo@yahoo.com> wrote:
David Johnston wrote
>
> Eliot Gable-4 wrote
>> I advocated creating a separate mapping table which
>> maps the ID of these records to the other ID we are searching for and
>> performing a JOIN on the two tables with appropriate foreign key
>> relationships and indices. However, I was ask to instead put the list
>> into
>> a single column on each row to reduce implementation complexity.
>>
>> Assuming the list of IDs is in a column on each row as TEXT in the format
>> of a JSON array, what is the best way to index the column so I can
>> quickly
>> find the rows with the given ID?
> I recommend benchmarking two implementations:
>
> 1) id_xref integer[] --on the same table, use "search_id = ANY(id_xref)"
> as the WHERE condition
>
> [...]

#1 can be greatly expanded in usefulness by making use of the "intarray"
contrib/extension; as Merlin mentioned up-thread.

David J.



Thank you both for the responses. I will benchmark the options you suggested.
 

Is there some way to make intarray work with int8 or some int8 variation of intarray? The data type of the IDs is BIGINT.


pgsql-general by date:

Previous
From: Eliot Gable
Date:
Subject: Re: JSON vs Text + Regexp Index Searching
Next
From: "john.tiger"
Date:
Subject: Josh's Comments on Hstore / Jsonb