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