隔离性的原理:
1.0
隔离性是通过锁机制实现的。当一个事务修改数据时,需要先获取锁。其它事务要修改数据,必须等待之前的事务提交或者回滚,然后释放锁操作之后。
myisam只支持表锁,innodb支持表锁和行锁。因为表锁比较影响性能,所以通常情况下,使用行锁就可以了。
2.0
隔离性的另外一个方面,就是一个事务修改数据,影响另外一个事务读取数据。这是通过 mvvc 模型实现的。
mvvc模型,就是每行数据有个隐藏的数据列,其中包含事务id和指向undo log的指针,从而形成数据版本链条。readview则指定了读取哪个数据版本。
标签:事务,20,隔离,行锁,mvvc,mysql,表锁,数据,底层 From: https://blog.51cto.com/u_15292349/9000496