zoukankan      html  css  js  c++  java
  • Mysql执行Update操作时会锁住表

     update tableA a,(select a.netbar_id,sum(a.reward_amt) reward_amt from  tableB a group by a.netbar_id) b set a.transfer_amt=b.reward_amt where a.netbar_id=b.netbar_id;

    执行该语句时要注意,因为

    select a.netbar_id,sum(a.reward_amt) reward_amt from  tableB a group by a.netbar_id

    该临时表没有建索引,所以当记录比较多时,再执行update操作就会出现阻塞,因为执行update操作会锁表。

    所以要改写成用脚本。

    用脚本查询得到临时表,然后用循环把每条纪录的netbar_id取出来做为update的where条件,这样update执行的时间就会很短。

    update与join的联合操作

    UPDATE table A 
    LEFT JOIN 
    table B 
    ON 
    A.B_ID = B.B_ID 
    SET 
    A.A_NAME = B.B_NAME; 

     程序猿必读

  • 相关阅读:
    对js数组的splice实现
    前端必读
    命令模式
    访问者模式
    观察者模式
    解释器模式
    装饰器模式
    组合模式
    抽象工厂模式
    搜索结果关键词高亮显示
  • 原文地址:https://www.cnblogs.com/longzhongren/p/4625373.html
Copyright © 2011-2022 走看看