Re: update == delete + insert?
От | Tom Lane |
---|---|
Тема | Re: update == delete + insert? |
Дата | |
Msg-id | 8909.1142896965@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | update == delete + insert? ("Craig A. James" <cjames@modgraph-usa.com>) |
Список | pgsql-performance |
"Craig A. James" <cjames@modgraph-usa.com> writes: > I've seen it said here several times that "update == delete + insert". On the other hand, I've noticed that "alter table[add|drop] column ..." is remarkably fast, even for very large tables, which leads me to wonder whether each column'scontents are in a file specifically for that column. No. The reason "drop column" is fast is that we make no attempt to remove the data from existing rows; we only mark the column's entry in the system catalogs as deleted. "add column" is only fast if you are adding a column with no default (a/k/a default NULL). In that case likewise we don't have to modify existing rows; the desired behavior falls out from the fact that the tuple access routines return NULL if asked to fetch a column beyond those existing in a particular tuple. You can read about the storage layout in http://developer.postgresql.org/docs/postgres/storage.html regards, tom lane
В списке pgsql-performance по дате отправления: