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
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() |