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