mysql InnoDB引擎
共享锁(S) select ... lock in share mode, 加了共享锁的数据, 其它地方只能加共享锁, 不能加排他锁.
排他锁(X) select ...for update, update,delete,insert 都会自动给涉及到的数据加上排他锁, 加了排他锁的数据, 其它地方不能再加任何锁.
事务四个隔离级别
1.未提交读: 可以读未提交数据.
2.提交读: 只能读已提交的数据.
3.可重复读: 前后两次读取数据一致, 两种情况,一种, 开启事务, select出数据A, 数据A在其它地方被修, 再select出数据A, 这时两次数据是一样的, 二种, 开启事务, 修改出据A, select出数据A, 再修改数据A, select出数据A, 此时两次的数据都是第一次修改后的数据.
4.串行读: 串行化的读. 每次读都需要获得表级共享锁.
锁堵塞多数是事务没及时提交造成的
原文:http://www.cnblogs.com/jimzbom/p/7591983.html