Re: [SQL] querying with index on jsonb slower than standard column. Why?

From: Tim Dudgeon <tdudgeon(dot)ml(at)gmail(dot)com>
To:
Cc: pgsql-sql(at)postgresql(dot)org, pgsql-performance(at)postgresql(dot)org
Subject: Re: [SQL] querying with index on jsonb slower than standard column. Why?
Date: 2014-12-08 21:39:13
Message-ID: 54861A81.8030509@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance pgsql-sql

On 08/12/2014 18:14, Adrian Klaver wrote:
> Recheck Cond: ((((data ->> 'assay1_ic50'::text))::double precision > 90::double precision) AND (((data ->> 'assay2_ic50'::text))::double precision < 10::double precision))
> >
> >which means we have to pull the JSONB value out of the tuple, search
> >it to find the 'assay1_ic50' key, convert the associated value to text
> >(which is not exactly cheap because*the value is stored as a numeric*),
> >then reparse that text string into a float8, after which we can use
> >float8gt. And then probably do an equivalent amount of work on the way
> >to making the other comparison.
> >
> >So this says nothing much about the lossy-bitmap code, and a lot about
> >how the JSONB code isn't very well optimized yet. In particular, the
> >decision not to provide an operator that could extract a numeric field
> >without conversion to text is looking pretty bad here.
Yes, that bit seemed strange to me. As I understand the value is stored
internally as numeric, but the only way to access it is as text and then
cast back to numeric.
I *think* this is the only way to do it presently?

Tim

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Merlin Moncure 2014-12-08 21:40:43 Re: intel s3500 -- hot stuff
Previous Message Adrian Klaver 2014-12-08 21:34:38 Re: querying with index on jsonb slower than standard column. Why?

Browse pgsql-sql by date

  From Date Subject
Next Message Scott Rohde 2014-12-09 18:01:39 Re: Check/unique constraint question
Previous Message Adrian Klaver 2014-12-08 21:34:38 Re: querying with index on jsonb slower than standard column. Why?