About updates

Started by Emi Luabout 20 years ago3 messagesgeneral
Jump to latest
#1Emi Lu
emilu@encs.concordia.ca

Hello,

postgresql 8.0.1, in a plpgsql function

To update columns' values in a table (without OID), if I ran:
1. "update table1 set col1 = ..., col2 = ... ... col100 ="

or
2.
"update table1 set col1 = "
...
"update table1 set col100 = "

way 1 only has one disk I/O, right? While way 2 is more time consuming
since there is disk I/O when a update is ran.

Thanks a lot,
Ying

#2A. Kretschmer
andreas.kretschmer@schollglas.com
In reply to: Emi Lu (#1)
Re: About updates

am 10.03.2006, um 10:46:39 -0500 mailte Emi Lu folgendes:

Hello,

postgresql 8.0.1, in a plpgsql function

To update columns' values in a table (without OID), if I ran:
1. "update table1 set col1 = ..., col2 = ... ... col100 ="

or
2.
"update table1 set col1 = "
...
"update table1 set col100 = "

way 1 only has one disk I/O, right? While way 2 is more time consuming
since there is disk I/O when a update is ran.

Because of MVCC every UPDATE is practical a DELETE + INSERT.
Way1: you have only one DELETE+INSERT, Way2 one hundred, and you have
100 dead rows until the next VACUUM.

HTH, Andreas
--
Andreas Kretschmer (Kontakt: siehe Header)
Heynitz: 035242/47215, D1: 0160/7141639
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
=== Schollglas Unternehmensgruppe ===

#3Emi Lu
emilu@encs.concordia.ca
In reply to: A. Kretschmer (#2)
Re: About updates

Thanks Andreas. That was a quick response.
So way 1 must be quicker.

Show quoted text

am 10.03.2006, um 10:46:39 -0500 mailte Emi Lu folgendes:

Hello,

postgresql 8.0.1, in a plpgsql function

To update columns' values in a table (without OID), if I ran:
1. "update table1 set col1 = ..., col2 = ... ... col100 ="

or
2.
"update table1 set col1 = "
...
"update table1 set col100 = "

way 1 only has one disk I/O, right? While way 2 is more time consuming
since there is disk I/O when a update is ran.

Because of MVCC every UPDATE is practical a DELETE + INSERT.
Way1: you have only one DELETE+INSERT, Way2 one hundred, and you have
100 dead rows until the next VACUUM.

HTH, Andreas