1.读未提交,最简陋的模式,无法解决任何并发问题。
2.串行化,直接加表锁独占,彻底解决各种问题,不然怎么能是最有效的呢。
3.读已提交和可重复读,均使用多版本控制方式,即mvcc。
版本链:每次个事务都有自己的id。事务修改数据时,undo log版本链中也新增一个版本和该事务的id。
使用快照找版本:通过快照查找版本,快照中有当前事务的id和进行中事务的id。如果版本链中的id与当前事务的id对应就直接使用,否则就去找比当前进行中的事务的最小的id还小的版本使用。
读已提交和可重复读如何实现:读已提交每次都是用同一个快照,当前读是每次生成一个新的快照。