- 論壇徽章:
- 0
|
mysql批量更新優(yōu)化之觸發(fā)器
需要以A表的更新來同步刷新B表的數(shù)據(jù).B表是1個大表.記錄行數(shù)比是A表的10倍. 已有的同步更新方式, update product.order_list a left join product.user b on a.email=b.email set a.lastlogin=b.lastlogin;
改進(jìn)以后的同步更新方式:每當(dāng)A表有更新時,即利用觸發(fā)器同步更新B表的記錄.聯(lián)接列由email改成uid
觸發(fā)器腳本: DELIMITER $$ CREATE TRIGGER user_update BEFORE UPDATE ON product.user FOR EACH ROW BEGIN IF NEW.lastlogin<>OLD.lastlogin THEN UPDATE product.order_list r SET r.lastlogin= New.lastlogin WHERE r.uid= NEW.uid; END IF; END $$ DELIMITER ; |
|