我正在编写一个脚本来迁移我的用户表。所以基本上,我有3分贝表:事件,用户,新用户。用户表旨在由newusers表替换,并在稍后放弃。 newusers表具有oldusers id(PK)值的列。SQL查询性能
events2表有2个FK:1个用户,1个用于新用户。 我已经写过将记录用户迁移到新用户的部分,我在这里挣扎的是更新事件2表中的FK。
我写了以下内容:
update events2
set newusersid = newuser.id
from events2 e
inner join newusers newuser on newuser.olduserid = e.userid;
,但它需要很长的时间来执行。有没有改进的方法
迁移的原因之一是我们想要更改newusers表中的id值,因此我无法对相应的用户记录重新使用相同的PK值。
感谢您的帮助
N.
您可能需要在'olduserid'上添加临时索引,并在升级完成后删除它。 – Blazes
什么“很长时间?”这是一次性操作 - 是否需要快速? –
@marc_s我正在使用postgresql 8.4 – Nikko