Re: update query taking too long

Поиск
Список
Период
Сортировка
От A. Kretschmer
Тема Re: update query taking too long
Дата
Msg-id 20070628053724.GB22066@a-kretschmer.de
обсуждение исходный текст
Ответ на update query taking too long  (Chris <dmagick@gmail.com>)
Ответы Re: update query taking too long  (Chris <dmagick@gmail.com>)
Список pgsql-performance
am  Thu, dem 28.06.2007, um 15:03:32 +1000 mailte Chris folgendes:
> Hi all,
>
> I'm trying to do an update of a reasonably large table and it's taking
> way too long so I'm trying to work out why and if I need to tweak any
> settings to speed it up.
>
> The table is around 3.5 million records.
>
> The query is
>
> update table set domainname=substring(emailaddress from position('@' in
> emailaddress));

I think, this is a bad idea.
Because, first, you have 2 columns with nearly identical data
(mailaddres includes the domain and a extra domain field)

And, after the UPDATE you have every row twice, because of MVCC: the
live tuple and a dead tuple.


> Any pointers about settings etc are most welcome.

I think, you should better use a VIEW.

CREATE VIEW my_view_on_table as SELECT mailaddres, substring(...) as
domain, ...

or, use the substring(...) in your regular queries instead the extra
column.


Andreas
--
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net

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

Предыдущее
От: Chris
Дата:
Сообщение: update query taking too long
Следующее
От: Tom Lane
Дата:
Сообщение: Re: update query taking too long