Re: [HACKERS] Trivial patch to double vacuum speed on tables with no indexes
От | Gregory Stark |
---|---|
Тема | Re: [HACKERS] Trivial patch to double vacuum speed on tables with no indexes |
Дата | |
Msg-id | 87bqpvi94z.fsf@stark.enterprisedb.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Trivial patch to double vacuum speed (Bruce Momjian <bruce@momjian.us>) |
Список | pgsql-patches |
Bruce Momjian <bruce@momjian.us> writes: > Tom Lane wrote: >> Bruce Momjian <bruce@momjian.us> writes: >> > Patch applied. Thanks. >> >> Wait a minute. This patch changes the behavior so that >> LockBufferForCleanup is applied to *every* heap page, not only the ones >> where there are removable tuples. It's not hard to imagine scenarios >> where that results in severe system-wide performance degradation. >> Has there been any real-world testing of this idea? > > I see the no-index case now: > > + if (nindexes) > + LockBuffer(buf, BUFFER_LOCK_SHARE); > + else > + LockBufferForCleanup(buf); > > Let's see what Greg says, or revert. Hm, that's a good point. I could return it to the original method where it released the share lock and did he LockBufferForCleanup only if necessary. I thought it was awkward to acquire a lock then release it to acquire a different lock on the same buffer but it's true that it doesn't always have to acquire the second lock. -- Gregory Stark EnterpriseDB http://www.enterprisedb.com
В списке pgsql-patches по дате отправления: