事务与死锁

来源:互联网 发布:2014网络流行语口头禅 编辑:程序博客网 时间:2024/05/18 14:23

查看MySQL是否自动提交事务,并设置:

show variables like ‘%autocommit%’;
set autocommit=0;

查看进程
show processlist;
查看锁
show global status like ‘table_locks%’;
show status like ‘%lock%’;
查看上个导致死锁的命令
show engine innodb status \G;

1 ) 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
2) 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。
3) 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。

理论上说当一个资源加锁时,另外一个资源请求该资源会进入等待状态,该请求事务在超时时会进行回滚。

死锁的几个情形:

Update时是执行什么级别锁定,锁的过程是怎样的。

如何获取完整的MySQL执行日志,包括其错误,异常等。

0 0
原创粉丝点击