From: | Emi Lu <emilu(at)encs(dot)concordia(dot)ca> |
---|---|
To: | pgsql-performance(at)postgresql(dot)org |
Subject: | update - which way quicker? |
Date: | 2008-08-28 19:31:04 |
Message-ID: | 48B6FCF8.3090807@encs.concordia.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
Good morning,
Tried to compare Table1 based on Table2
. update table1.col = false
if table1.pk_cols not in table2.pk_cols
For the following two ways, (2) always performs better than (1) right,
and I need your inputs.
========================================================================
(1) update table1
set col = false
where table1.pk_co1 || table1.pk_col2.... || table1.pk_colN
NOT IN
(select pk_co1 || pk_col2.... || pk_colN
from table2
)
(2) ResultSet(rs) =
select pk_col1||pk_col2... || pk_colN
from table1
left join table2 using (pk_col1..., pk_colN)
where table2.pk_col1 is null
Then for each rs record, do:
update table1
set col = false
where col1||... colN in rs.value
Thanks a lot!
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2008-08-28 19:46:01 | Re: Best hardware/cost tradoff? |
Previous Message | cluster | 2008-08-28 19:22:38 | Best hardware/cost tradoff? |