Re: [HACKERS] Highly Variable Planning Times - Mailing list pgsql-hackers

From Jeff Janes
Subject Re: [HACKERS] Highly Variable Planning Times
Date
Msg-id CAMkU=1zLjM8LhQtfha36U6dNKCzy3QECh7f6aAJSv=xRCMy8gw@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Highly Variable Planning Times  (Michael Malis <michaelmalis2@gmail.com>)
List pgsql-hackers
On Wed, Apr 19, 2017 at 2:39 PM, Michael Malis <michaelmalis2@gmail.com> wrote:
> TBH, I see no convincing explanation in that article of why 1300 partial
> indexes are a good idea.

I don't like it much either. I've been trying to eliminate most of the
need for the partial indexes, but this is the current state of things.

> *At best*, you're doing substantial work in the
> planner to avoid the first tree descent step or two in a single
> non-partial index.

While the specific example I gave in the post could be replaced with a
non-partial index, most of the partial indexes contain predicates that
are not straightforward to index with non-partial indexes. About 85%
of the partial indexes contain a regular expression in them for CSS
selector matching. I've tried using a trigram GIN index, but it wound
up not working too well due to the data being highly redundant (almost
every CSS hierarchy contains 'div' in it).

pg_trgm 1.2 or higher has code to help with very common trigrams.  But to try it, you would need to upgrade PostgreSQL to 9.6.

Cheers,

Jeff

pgsql-hackers by date:

Previous
From: Michael Malis
Date:
Subject: Re: [HACKERS] Highly Variable Planning Times
Next
From: Tom Lane
Date:
Subject: [HACKERS] Unportable implementation of background worker start