我是 java代码多线程调用存储过程,存储过程中的update  修改表出现 锁死的情况

解决方案 »

  1.   

    用MYIASM 
      

  2.   

    帮你移到mysql专区
      

  3.   

    MYIASM不是表锁了吗   我是多个进程同时对表进行操作啊 我表结构是InnoDB我在存储过程中的update语句进行
    lock tables t_coordinate write|read;
     update t_coordinate set jlzt=1 where coordinateId = vcoordinateId;
    unlock tables;
      提示:LOCK is not allowed in stored procedures
      

  4.   

     你的大部分操作是UPDATE,INNODB的写锁优先级最高。多线程调用update,如果在表上没有锁,在它上面放一个写锁。 
    否则,把锁定请求放在写锁定队列中。 
    当然,如果你使用的是带主键的for update,MySQL执行 Row lock 。不过是不安全的,基本不好用。反正我是没用过。
     
      

  5.   


    最好不要用java代码调用存储过程。而且还是高并发的情况下。直接用java写掉用sql语句执行。