Re: jsonb value retrieval performance - Mailing list pgsql-general

From Tom Smith
Subject Re: jsonb value retrieval performance
Date
Msg-id CAKwSVFE1NSxF-=7RdXnQ5Y0DxdyP=BM7FzUKKeoL=aroECX1Zg@mail.gmail.com
Whole thread Raw
In response to Re: jsonb value retrieval performance  (Teodor Sigaev <teodor@sigaev.ru>)
Responses Re: jsonb value retrieval performance
List pgsql-general
It can be any jsonb so I am asking a general question of the implementaion
for each jsonb storage (not about GIN or table wide indexing, but only within
a single jsonb item in a single row.

A sample would be like (no quotes)

{
a1: {b1:v1, b2:v2, b100:v100}

a3000: {c1:x1, c2: x2. c200: v200
}

you get the idea.  I wonder how postgresql does it when try

jsonb->a1->b1,

 does it read in the whole jsonb tree structure in memory
and get to v1  or it has some optimization so only get v1 instead
of reading in the whole structure.









On Tue, Sep 8, 2015 at 11:58 AM, Teodor Sigaev <teodor@sigaev.ru> wrote:
and I am trying to get value via  jsonb->parentKey->childKey
it seems it is very slow.
Would it be actually faster to use top level key only and parse it at client side?

Suppose, most time is spent for decompressing huge value, not for actual search inside jsonb. If so, we need to implement some search method which decompress some chunks of jsonb.


Could you send to me an example of that jsonb?



--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                   WWW: http://www.sigaev.ru/

pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: LATERAL query extreme slow due to partition
Next
From: Tom Smith
Date:
Subject: Re: LATERAL query extreme slow due to partition