On Wed, 2003-07-02 at 10:50, Jesse Norell wrote:
>   I think that last idea, the whole message in one record, is
> probably not a good idea on postgres because of the way it handles
> updates and free space.  Every time you update a message (set seen
> flag, change status, etc... happens numerous times through the life
> of a message), it copies the row and marks the old as being free.
> This is both costly for large messages, and would require much higher
> fsm settings or more frequent vacuuming to clean up after (though
> I think that's supposed to be improved in future pgsql versions).
> The current schema handles those updates very well - only a small
> entry in the messages table needs to be updated each time.

Absolutely true.  I would never want the flags kept with the message,
however I don't understand the purpose of splitting up messages in the
message_block table.  What is the reasoning behind this? It seems like
just more work for no gain (that I am aware of).

To me the best setup message schemea would be very similar to it is now
with a header record that keeps all the flags, and one record in the
message_blocks table that contains the whole message.
 

Reply via email to