| From: | Claudio Freire <klaussfreire(at)gmail(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Tomas Vondra <tv(at)fuzzy(dot)cz>, postgres performance list <pgsql-performance(at)postgresql(dot)org> |
| Subject: | Re: Bloated tables and why is vacuum full the only option |
| Date: | 2014-02-09 19:48:18 |
| Message-ID: | CAGTBQpadv938fU7RkQHnMzRkmBJykm-BOE=Eiykv6RTkxQzaow@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-performance |
On Sun, Feb 9, 2014 at 4:40 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Claudio Freire <klaussfreire(at)gmail(dot)com> writes:
>>>> I also do routine reindexing to stop index bloat on its tracks, yet
>>>> freshly-reindexed indexes get considerably reduced in size with vacuum
>>>> full.
>
> AFAIK there's no reason for vacuum full to produce a different result
> from reindex. Did you mean to say that the indexes get smaller than
> what they had been after some normal operation? If so it's worth noting
> this comment from the btree index building code (nbtsort.c):
Smaller than after reindex. It was a surprise to me too.
> Also, there are certain usage patterns that can result in btree indexes
> having densities much lower than the conventional-wisdom 70%. The main
> one I've seen in practice is "decimation", where you delete say 99 out
> of every 100 entries in index order. This leaves just a few live entries
> in each leaf page --- but our btree code doesn't reclaim an index page
> for recycling until it's totally empty. So you can end up with a very
> low load factor after doing something like that, and a reindex is the
> only good way to fix it.
That's exactly the kind of pattern the "archival" step results in,
that's why I do routine reindexing.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Sergey Konoplev | 2014-02-09 22:32:18 | Re: Bloated tables and why is vacuum full the only option |
| Previous Message | Tom Lane | 2014-02-09 19:40:00 | Re: Bloated tables and why is vacuum full the only option |