Re: Performance on JSONB select - Mailing list pgsql-general

From Michael Lewis
Subject Re: Performance on JSONB select
Date
Msg-id CAHOFxGpFn8+r+_RjRMkbUH0TY0DPhyaV=+JraTi8caZWBy7cZA@mail.gmail.com
Whole thread Raw
In response to Performance on JSONB select  (PegoraroF10 <marcos@f10.com.br>)
Responses Re: Performance on JSONB select
Re: Performance on JSONB select
List pgsql-general
Much of indexing strategy depends on knowing the data like how many distinct values and what the distribution is like. Is JsonBField->>'status' always set? Are those three values mentioned in this query common or rare? Can you re-write this query to avoid using an OR in the where clause? Are you just wanting to add a GIN index for the jsonb paths? Or do you want indexed like below that are a bit stylized to this query?

CREATE INDEX idx_MyTable_status USING btree( JsonBField->>'status' );
CREATE INDEX idx_MyTable_descartada_date USING btree( To_Date(JsonBField->'descartada'->>'data','yyyy-mm-dd') );
CREATE INDEX idx_MyTable_contrato_date USING btree( To_Date(JsonBField->'contrato'->>'data','yyyy-mm-dd') );

pgsql-general by date:

Previous
From: Jason Ralph
Date:
Subject: PG11 Parallel Thanks!!
Next
From: Shital A
Date:
Subject: Urgent :: Postgresql streaming replication issue - sync mode