Re: working around JSONB's lack of stats?

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: pgsql-performance(at)postgresql(dot)org
Subject: Re: working around JSONB's lack of stats?
Date: 2015-01-28 19:48:02
Message-ID: 54C93CF2.3020600@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 27.1.2015 08:06, Josh Berkus wrote:
> Folks,
>
...
>
> On a normal column, I'd raise n_distinct to reflect the higher
> selecivity of the search terms. However, since @> uses contsel,
> n_distinct is ignored. Anyone know a clever workaround I don't
> currently see?

I don't see any reasonable workaround :-(

ISTM we'll have to invent a way to collect useful stats about contents
of JSON/JSONB documents. JSONB is cool, but at the moment we're mostly
relying on defaults that may be reasonable, but still misfire in many
cases. Do we have any ideas of how that might work?

We're already collecting stats about contents of arrays, and maybe we
could do something similar for JSONB? The nested nature of JSON makes
that rather incompatible with the flat MCV/histogram stats, though.

regards
--
Tomas Vondra http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Josh Berkus 2015-01-28 23:03:06 Re: working around JSONB's lack of stats?
Previous Message Merlin Moncure 2015-01-27 14:11:17 Re: Why is PostgreSQL not using my index?