On Wed, 2006-01-11 at 18:24 -0500, Qingqing Zhou wrote:
> I understand checkpoint code doing something like this:
>
> Get RedoRecPtr;
> Flush all dirty buffers no matter what's its LSN;
> Write down checkpoint xlog record;
>
> So I wonder is it possible flush only dirty buffers with LSN < RedoRecPtr
> to improve checkpoint caused delay? Because even we flush every dirty
> buffers, we still have to replay from the RedoRecPtr. Of course, this only
> applies to non-critical checkpoints (critical ones like startup and
> shutdown).
Probably good idea to read Gray & Reuter or Vekum & Vossen books on
transactional systems theory before any such discussion.
Incidentally, it was suggested to me that we write odd/even numbered
blocks on alternate checkpoints as a way of reducing checkpoint impact.
Apparently this has been implemented on another RDBMS in a galaxy far,
far away. But I have enough to do right now.
Best Regards, Simon Riggs