What about increasing the size of an existing index entry? Can that be
done easily when a new row is added?
I'd say it looks pretty much like inserting a new index tuple...
Say "value" is the indexed column.
Find first page in the index featuring "value".
1 If there is space on the page,
add the tuple id to the list of the corresponding index entry (just like
creating a new index tuple, but uses less space).
else
look at next page.
If next page has an index tuple with the same indexed value,
goto 1
else
insert new page and create an index tuple on it
I would be worried about the overhead of doing that on compression and
decompression.
The compression methods mentioned in the article which was passed on the
list seemed pretty fast. From IO-limited, the test database became
CPU-limited (and a lot faster).
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match