Update join performance issues

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

 



Hi All;

I have a query that wants to update a table based on a join like this:

update test_one
set f_key = t.f_key
from
    upd_temp1 t,
    test_one t2
where
    t.id_number = t2.id_number

upd_temp1 has 248,762 rows
test_one has 248,762 rows

test_one has an index on f_key and an index on id_number
upd_temp1 has an index on id_number


The explain plan looks like this:
 Update  (cost=0.00..3212284472.90 rows=256978208226 width=121)
   ->  Nested Loop  (cost=0.00..3212284472.90 rows=256978208226 width=121)
         ->  Merge Join  (cost=0.00..51952.68 rows=1033028 width=20)
               Merge Cond: ((t.id_number)::text = (t2.id_number)::text)
-> Index Scan using idx_tmp_001a on upd_temp1 t (cost=0.00..12642.71 rows=248762 width=
52)
               ->  Materialize  (cost=0.00..23814.54 rows=248762 width=17)
-> Index Scan using index_idx1 on test_one t2 (cost=0.00..23192.64 rows
=248762 width=17)
         ->  Materialize  (cost=0.00..6750.43 rows=248762 width=101)
-> Seq Scan on test_one (cost=0.00..5506.62 rows=248762 width=101)
(9 rows)


The update never finishes, we always stop it after about 30min to an hour.

Anyone have any thoughts per boosting performance?

Thanks in advance




--
Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance


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

  Powered by Linux