Re: Deleting bytea, autovacuum, and 8.2/8.4 differences

Поиск
Список
Период
Сортировка
От Matthew Wakeling
Тема Re: Deleting bytea, autovacuum, and 8.2/8.4 differences
Дата
Msg-id alpine.DEB.2.00.1003151516070.1887@aragorn.flymine.org
обсуждение исходный текст
Ответ на Re: Deleting bytea, autovacuum, and 8.2/8.4 differences  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-performance
On Mon, 15 Mar 2010, Tom Lane wrote:
> For an example like this one, you have to keep in mind that the
> toast-table rows for the large bytea value have to be marked deleted,
> too.  Also, since I/O happens in units of pages, the I/O volume to
> delete a tuple is just as much as the I/O to create it.  (The WAL
> entry for deletion might be smaller, but that's all.)  So it is entirely
> unsurprising that "DELETE FROM foo" is about as expensive as filling the
> table initially.
>
> If deleting a whole table is significant for you performance-wise,
> you might look into using TRUNCATE instead.

What are the implications of using TRUNCATE on a table that has TOASTed
data? Is TOAST all stored in one single table, or is it split up by owner
table/column name? Might you still end up with a normal delete operation
on the TOAST table when performing a TRUNCATE on the owner table?

Matthew

--
sed -e '/^[when][coders]/!d;/^...[discover].$/d;/^..[real].[code]$/!d
' <`locate dict/words`

В списке pgsql-performance по дате отправления:

Предыдущее
От: VJK
Дата:
Сообщение: Re: Deleting bytea, autovacuum, and 8.2/8.4 differences
Следующее
От: Matthew Wakeling
Дата:
Сообщение: Re: GiST index performance