Re: Indexing on JSONB field not working

From: Zhihong Zhang <zhihong(at)gmail(dot)com>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: pgsql-bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: Indexing on JSONB field not working
Date: 2019-12-21 00:39:28
Message-ID: 9499358C-9E3A-4050-901F-BA988FC286FC@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

A few clarifications,

1. The index is very effective. If I treat it as text, the index works. With index, the result returns in 1 second. Otherwise, it’s 5 minutes.
2. Removing limit doesn’t change the behavior.
3. I ran Analyze multiple times after indexing.

Zhihong

> On Dec 20, 2019, at 5:57 PM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:
>
> On Fri, Dec 20, 2019 at 5:12 PM Zhihong Zhang <zhihong(at)gmail(dot)com <mailto:zhihong(at)gmail(dot)com>> wrote:
> I have an index on JSONB fields like this,
>
>
>
> CREATE INDEX float_number_index_path2
>
> ON public.assets USING btree
>
> (((_doc #> '{floatValue}'::text[])::double precision) ASC NULLS LAST)
>
> TABLESPACE pg_default;
>
>
>
> However query doesn’t use it,
>
>
> Did you analyze the table after building the index? Expression indexes have their own statistics, but they don't get populated until the table is analyzed.
>
> Cheers,
>
> Jeff

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Zhihong Zhang 2019-12-21 01:15:39 Re: Indexing on JSONB field not working
Previous Message Jeremy Schneider 2019-12-20 23:21:30 Re: logical decoding bug: segfault in ReorderBufferToastReplace()