我正在使用postgresql。我有一张包含大约 1000 万条记录的表。我需要使用序列更新表中的一列说“a”。此列需要按照另一列“b”的顺序进行更新。因此,对于任何两个记录 r1 和 r2,如果 r1 的“a”值小于 r2 的“a”值,则 r1 的“b”值必须小于 r2 的“b”值。
我正在使用这样的东西:
UPDATE table
SET col1 = nextval('myseq')
WHERE key IN (SELECT key
FROM table
ORDER BY col2);
key 是表的主键。
但这需要太多时间。任何人都可以帮助我以优化的方式进行操作。
谢谢