解决mysql行锁
mysql 事物没提交或者回滚,会让行锁没释放,可以查询当前事物表 然后kill 结束掉锁;
mysql事物隔离级别
读未提交(READ UNCOMMITTED)
A事物能读到B事物未提交的数据,可能会产生脏读。
读已经提交 (READ COMMITTED)
A事物只能读到B事物已经提交的数据,可以避免脏读。
可重复读 (REPEATABLE READ)(innerDB默认)
A事物开始读到B事物的数据,后面就一直是这个数据。
串行化 (SERIALIZABLE)
变成单线程,一个事物一个事物执行。
MVCC多版本控制
什么是MVCC?
通过多版本并发控制,实现对数据库的并发访问,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读
mvcc多版本控制原理