Re: update query taking too long

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux