From: | "Phil Currier" <pcurrier(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Column storage positions |
Date: | 2007-02-21 14:25:09 |
Message-ID: | c58979e50702210625m677291e8x8836a0d1b9fb9de5@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2/21/07, Alvaro Herrera <alvherre(at)commandprompt(dot)com> wrote:
> I'd expect the system being able to reoder the columns to the most
> efficient order possible (performance-wise and padding-saving-wise),
> automatically. When you create a table, sort the columns to the most
> efficient order; ALTER TABLE ADD COLUMN just puts the new columns at the
> end of the tuple; and anything that requires a rewrite of the table
> (ALTER TABLE ... ALTER TYPE for example; would be cool to have CLUSTER
> do it as well; and do it on TRUNCATE also) again recomputes the most
> efficient order.
That's exactly what I'm proposing. On table creation, the system
chooses an efficient column order for you. The next time an ALTER
TABLE operation forces a rewrite, the system would recompute the
column storage order. I hadn't thought of having CLUSTER also redo
the storage order, but that seems safe since it takes an exclusive
lock on the table. I'm less sure about whether it's safe to do this
during a TRUNCATE.
phil
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Schiltknecht | 2007-02-21 14:32:12 | Re: tsearch in core patch, for inclusion |
Previous Message | Alvaro Herrera | 2007-02-21 14:14:01 | Re: New feature request: FlashBack Query |