我们有一个自定义表“CRM”,每天从我们的ERP系统更新。
crm表具有字段customerid、customertype
我需要从crm将 meta_key 'user_type'更新为customertype。
我需要想出最快最少资源的方法来完成这件事。我不是最好的SQL,所以我的方式是最糟糕的。
1.从crm中选择所有行。
1.遍历所有行并找到user_id(来自WordPress),其中 meta_key = crm.'custid'
- Update user_ metaSET meta_value = crm.customertype WHERE user_id = user_id
这将产生数千个查询,当然也是一个资源消耗。任何帮助都将不胜感激。
1条答案
按热度按时间mwngjboj1#
您可以尝试在分区和CTE中执行此操作,也可以考虑只从crm中选择所需的列,即:你真的需要从CRM表的所有列?还可以考虑使用显式SQL Server事务,这样您就可以查看使用更新(https://www.sqlshack.com/how-to-rollback-using-explicit-sql-server-transactions/)时是否会出现任何错误: