数据库同步优化技巧分享
场景1:需要将某张表的某些字段全部同步到另一张表的某些字段.
INSERTINTOtable1(a,b,c,d) SELECT a,b,c,dFROMtable2 WHERENOTEXISTS(SELECT*FROMtable1WHEREtable2.`a`=table1.`b`) ;
当最后的子查询存在记录时候,则略过.
场景2:表中新增一个字段,需要重新计算并更新至表中.
如果用脚本来走的话,不使用事务没秒只能更新10条左右,如果有相应算法,可以先生成更新语句,然后更新.
场景3关联表,某表字段批量更新至某字段
UPDATEoto_paymentASaINNERJOINoto_customerAScONa.openid=c.openid
SETa.customer_id=c.customer_id;