Re: [HACKERS] Highly Variable Planning Times
| От | Jeff Janes |
|---|---|
| Тема | Re: [HACKERS] Highly Variable Planning Times |
| Дата | |
| Msg-id | CAMkU=1zLjM8LhQtfha36U6dNKCzy3QECh7f6aAJSv=xRCMy8gw@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: [HACKERS] Highly Variable Planning Times (Michael Malis <michaelmalis2@gmail.com>) |
| Список | 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 по дате отправления: