Re: Reducing relation locking overhead
От | Jim C. Nasby |
---|---|
Тема | Re: Reducing relation locking overhead |
Дата | |
Msg-id | 20051208070810.GM16053@nasby.net обсуждение исходный текст |
Ответ на | Re: Reducing relation locking overhead (Hannu Krosing <hannu@skype.net>) |
Ответы |
Re: Reducing relation locking overhead
|
Список | pgsql-hackers |
On Thu, Dec 08, 2005 at 08:57:42AM +0200, Hannu Krosing wrote: > ??hel kenal p??eval, N, 2005-12-08 kell 00:16, kirjutas Jim C. Nasby: > > On Sat, Dec 03, 2005 at 10:15:25AM -0500, Greg Stark wrote: > > > Tom Lane <tgl@sss.pgh.pa.us> writes: > > > > What's worse, once you have excluded writes you have to rescan the entire > > > > table to be sure you haven't missed anything. So in the scenarios where this > > > > whole thing is actually interesting, ie enormous tables, you're still > > > > talking about a fairly long interval with writes locked out. Maybe not as > > > > long as a complete REINDEX, but long. > > > > > > I was thinking you would set a flag to disable use of the FSM for > > > inserts/updates while the reindex was running. So you would know where to find > > > the new tuples, at the end of the table after the last tuple you read. > > > > What about keeping a seperate list of new tuples? Obviously we'd only do > > this when an index was being built on a table. > > The problem with separate list is that it can be huge. For example on a > table with 200 inserts/updates per second an index build lasting 6 hours > would accumulate total on 6*3600*200 = 4320000 new tuples. Sure, but it's unlikely that such a table would be very wide, so 4.3M tuples would probably only amount to a few hundred MB of data. It's also possible that this list could be vacuumed by whatever the regular vacuum process is for the table. -- Jim C. Nasby, Sr. Engineering Consultant jnasby@pervasive.com Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461
В списке pgsql-hackers по дате отправления: