UPDATE效率一直很低,但是做以下优化将大大提高数据更新效率。

第一步:建立临时表

表:data202207_tmp  有两个字段,userId、zsum

第二步:更新数据

将b表中zsum数据更新到a表m_jul字段上,条件是userId相同。

-- 新方法
UPDATE user_yaction a ,data202207_tmp  b 
set a.m_Jul = b.zsum WHERE a.userId=b.userId;
-- 新方法2
UPDATE user_yaction a join data202207_tmp  b on a.userId=b.userId
set a.m_Jul = b.zsum ;

关键一步:添加索引

我仅在a表userId上添加了索引,十几万的数据,更新速度在几秒钟内更新完成。之前方法可能需要一个小时……

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐