I am using postgresql. I have a table with about 10 million of records. I need to update a column of the table say ‘a’ using a sequence. This column needs to be updated in the order of another column say ‘b’. So, for any two records r1 and r2, if value of ‘a’ for r1 is less than value of ‘a’ for r2 then value of ‘b’ for r1 must be less than value of ‘b’ for r2.
I am using something like this:
UPDATE table
SET col1 = nextval('myseq')
WHERE key IN (SELECT key
FROM table
ORDER BY col2);
key is the primary key of the table.
But it is taking too much time. Can anyone help me in doing it in optimized way.
Thanks
Try something like:
Or better something like: