Skip site navigation (1) Skip section navigation (2)

Cheaper VACUUMing

From: Christopher Browne <cbbrowne(at)acm(dot)org>
To: pgsql-performance(at)postgresql(dot)org
Subject: Cheaper VACUUMing
Date: 2005-01-23 06:16:20
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-performance
A long time ago, in a galaxy far, far away, gsstark(at)mit(dot)edu (Greg Stark) wrote:
> Dawid Kuroczko <qnex42(at)gmail(dot)com> writes:
>> Quick thought -- would it be to possible to implement a 'partial VACUUM'
>> per analogiam to partial indexes?
> No.
> But it gave me another idea. Perhaps equally infeasible, but I don't see why.
> What if there were a map of modified pages. So every time any tuple
> was marked deleted it could be marked in the map as modified. VACUUM
> would only have to look at these pages. And if it could mark as free
> every tuple that was marked as deleted then it could unmark the
> page.
> The only downside I see is that this could be a source of contention
> on multi-processor machines running lots of concurrent
> update/deletes.

I was thinking the same thing after hearing fairly extensive
"pooh-poohing" of the notion of vacuuming based on all the pages in
the shared cache.

This "hot list page table" would probably need to be a hash table.  It
rather parallels the FSM, including the way that it would need to be
limited in size.
wm(X,Y):-write(X),write('@'),write(Y). wm('cbbrowne','').
Rules  of  the  Evil  Overlord  #57. "Before  employing  any  captured
artifacts  or machinery, I  will carefully  read the  owner's manual."

In response to


pgsql-performance by date

Next:From: Simon RiggsDate: 2005-01-23 20:15:52
Subject: Re: PostgreSQL clustering VS MySQL clustering
Previous:From: Christopher BrowneDate: 2005-01-23 06:08:26
Subject: Re: PostgreSQL clustering VS MySQL clustering

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group