最新消息:阿里云双12优惠,史上最低折扣。

mysql锁表是怎么造成的

服务器配置 aliyun 342浏览

如何避免mySQL事务锁表

避免mysql事务锁表的方法 1.保持事务的轻量 事务越轻量,占有越少的锁资源,发生锁表的几率就越小。2.提高运行的速度 避免使用子查询,尽量使用主键等,从而提高mysql的运行速度。3.减少持有锁的时间 尽量快提交事务,从而减少持有锁的时间,越早提交事务,锁就越早释放。

mysql中出现锁表的原因有以下几点

1.mysql锁表的原理是数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commite 或者 回滚 或者退出数据库用户; 

2.如当A程序执行了对 tableA 的 insert ,并还未 commite时,B程序也对tableA 进行insert 则此时会发生资源正忙的异常,导致出现锁表;

3.mysql出现并发而导致锁表。

减少锁表的方法:

1.减少insert 、update 、delete 语句执行 到 commite 之间的时间;

2.将批量执行改为单个执行、优化sql自身的非执行速度。

转载请注明:小猪云服务器租用推荐 » mysql锁表是怎么造成的