On Tue, Sep 23, 2014 at 8:35 PM, Emi Lu <emilu@xxxxxxxxxxxxxxxxx> wrote: > Hello list, > > For a big table with more than 1,000,000 records, may I know which update is > quicker please? > > (1) update t1 > set c1 = a.c1 > from a > where pk and > t1.c1 <> a.c1; > ...... > update t1 > set c_N = a.c_N > from a > where pk and > t1.c_N <> a.c_N; > > > (2) update t1 > set c1 = a.c1 , > c2 = a.c2, > ... > c_N = a.c_N > from a > where pk AND > ( t1.c1 <> a.c1 OR t1.c2 <> a.c2..... t1.c_N <> a.c_N) Definitely the second, and it produces less bloat too. > Or other quicker way for update action? You may express the comparison as (t1.c1, t1.c2, ... t1.cN) <> (t2.c1, t2.c2, ... t2.cN) It's not going to be faster but maybe it's more readable. -- Daniele -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general