From: | Juan Rodrigo Alejandro Burgos Mella <rodrigoburgosmella(at)gmail(dot)com> |
---|---|
To: | yudhi s <learnerdatabase99(at)gmail(dot)com> |
Cc: | pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org> |
Subject: | Re: update faster way |
Date: | 2024-09-15 02:51:49 |
Message-ID: | CAHbZ42wTJSHZL+0NVHyDNmi=v7xEGLKfoVei=Y=_URfW9ySHBg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
The only way that I see as plausible to use a subquery, both in the query
and in the setting of the variable, is that the relationship is one to one,
and that there is an index that responds to the predicate
UPDATE table1 t1
SET column_value = (SELECT <value> FROM table2 t2 WHERE t2.column_relation
= t1.column_relation)
WHERE (colum_relation) IN (SELECT column_relation FROM table2)
PD: the index of being in table2
Atte
JRBM
El sáb, 14 sept 2024 a las 0:22, yudhi s (<learnerdatabase99(at)gmail(dot)com>)
escribió:
> Hello,
> We have to update a column value(from numbers like '123' to codes like
> 'abc' by looking into a reference table data) in a partitioned table with
> billions of rows in it, with each partition having 100's millions rows. As
> we tested for ~30million rows it's taking ~20minutes to update. So if we go
> by this calculation, it's going to take days for updating all the values.
> So my question is
>
> 1) If there is any inbuilt way of running the update query in parallel
> (e.g. using parallel hints etc) to make it run faster?
> 2) should we run each individual partition in a separate session (e.g.
> five partitions will have the updates done at same time from 5 different
> sessions)? And will it have any locking effect or we can just start the
> sessions and let them run without impacting our live transactions?
>
> UPDATE tab_part1
> SET column1 = reftab.code
> FROM reference_tab reftab
> WHERE tab_part1.column1 = subquery.column1;
>
> Regards
> Yudhi
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dan Kortschak | 2024-09-15 09:07:53 | Re: re-novice coming back to pgsql: porting an SQLite update statement to postgres |
Previous Message | Adrian Klaver | 2024-09-14 20:16:09 | Re: Reg: Size difference |