RE: [PATCH] Speedup truncates of relation forks
| От | Tsunakawa, Takayuki |
|---|---|
| Тема | RE: [PATCH] Speedup truncates of relation forks |
| Дата | |
| Msg-id | 0A3221C70F24FB45833433255569204D1FC4DBC5@G01JPEXMBYT05 обсуждение исходный текст |
| Ответ на | Re: [PATCH] Speedup truncates of relation forks (Masahiko Sawada <sawada.mshk@gmail.com>) |
| Список | pgsql-hackers |
From: Masahiko Sawada [mailto:sawada.mshk@gmail.com]
> for (i = 0; i < NBuffers; i++)
> {
> (snip)
> buf_state = LockBufHdr(bufHdr);
>
> /* check with the lower bound and skip the loop */
> if (bufHdr->tag.blockNum < minBlock)
> {
> UnlockBufHdr(bufHdr, buf_state);
> continue;
> }
>
> for (k = 0; k < nforks; k++)
> {
> if (RelFileNodeEquals(bufHdr->tag.rnode, rnode.node) &&
> bufHdr->tag.forkNum == forkNum[k] &&
> bufHdr->tag.blockNum >= firstDelBlock[k])
>
> But since we acquire the buffer header lock after all and the number
> of the internal loops is small (at most 3 for now) the benefit will
> not be big.
Yeah, so I think we can just compare the block number without locking the buffer header here.
Regards
Takayuki Tsunakawa
В списке pgsql-hackers по дате отправления: