On Wed, 2007-02-28 at 09:38 +0000, Heikki Linnakangas wrote:
> Tom Lane wrote:
> > Galy Lee <[EMAIL PROTECTED]> writes:
> >> If we can stop at any point, we can make maintenance memory large
> >> sufficient to contain all of the dead tuples, then we only need to
> >> clean index for once. No matter how many times vacuum stops,
> >> indexes are cleaned for once.
> > 
> > I beg your pardon?  You're the one who's been harping on the
> > table-so-large-it-takes-days-to-vacuum scenario.  How you figure that
> > you can store all the dead TIDs in working memory?
> 
> This reminds me of an idea I had while looking at the bitmap index 
> patch: We could store the dead TIDs more efficiently in a bitmap, 
> allowing tables to be vacuumed in lesser cycles.
> 
> Of course, that's orthogonal to the above discussion.

I like the idea. 

How much memory would it save during VACUUM on a 1 billion row table
with 200 million dead rows? Would that reduce the number of cycles a
normal non-interrupted VACUUM would perform?

Would it work efficiently for all of the current index AMs? Each index
might use the index slightly differently during cleanup, I'm not sure.

-- 
  Simon Riggs             
  EnterpriseDB   http://www.enterprisedb.com



---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to