On Mon, Feb 15, 2021 at 08:19:40PM +0000, Bossart, Nathan wrote:
> Yeah, this is something I'm concerned about.  I think adding a bitmap
> of modified columns to the header of PHOT-updated tuples improves
> matters quite a bit, even for single-page vacuuming.  Following is a
> strategy I've been developing (there may still be some gaps).  Here's
> a basic PHOT chain where all tuples are visible and the last one has
> not been deleted or updated:
> 
> idx1    0       1               2       3
> idx2    0       1       2
> idx3    0               2               3
> lp      1       2       3       4       5
> tuple   (0,0,0) (0,1,1) (2,2,1) (2,2,2) (3,2,3)
> bitmap          -xx     xx-     --x     x-x

First, I want to continue encouraging you to work on this because I
think it can yield big improvements.  Second, I like the wiki you
created.  Third, the diagram above seems to be more meaningful if read
from the bottom-up.  I suggest you reorder it on the wiki so it can be
read top-down, maybe:

> lp      1       2       3       4       5
> tuple   (0,0,0) (0,1,1) (2,2,1) (2,2,2) (3,2,3)
> bitmap          -xx     xx-     --x     x-x
> idx1    0       1               2       3
> idx2    0       1       2
> idx3    0               2               3

Fourth, I know in the wiki you said create/drop index needs more
research, but I suggest you avoid any design that will be overly complex
for create/drop index.  For example, a per-row bitmap that is based on
what indexes exist at time of row creation might cause unacceptable
problems in handling create/drop index.  Would you number indexes?  I am
not saying you have to solve all the problems now, but you have to keep
your eye on obstacles that might block your progress later.

-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  The usefulness of a cup is in its emptiness, Bruce Lee



Reply via email to