Ron Johnson <ron.l.johnson@cox.net> writes:
> Not only that, but you get INSERT, UPDATE, DELETE and SELECT performance
> gains with fixed length records, since you don't get fragmentation.
That argument loses a lot of its force when you consider that Postgres
uses non-overwriting storage management. We never do an UPDATE in-place
anyway, and so it matters little whether the updated record is the same
size as the original.
>> Well, maybe. But since 7.1 or so char() and varchar() simply became text
>> with some length restrictions. This was one of the reasons. It also
>> simplified a lot of code.
> How much simpler can you get than fixed-length records?
It's not simpler: it's more complicated, because you need an additional
input item to figure out the size of any given column in a record.
Making sure that that info is available every place it's needed is one
of the costs of supporting a feature like this.
regards, tom lane