事务、锁与MVCC

目标与手段

MySQL的事务提供了四种隔离级别,这个是最终的目的,其余所有的锁机制、MVCC机制都是为此服务的。

策略与机制

之前经常听人把锁和MVCC放到一起谈。其实这个不是一个层面的东西。严格来说,我们的目标只有一点:在满足隔离级别的前提下提升并发性能。于是催生的手段就是一致性非锁定读和一致性锁定读,而MVCC不过是基于多版本实现这种方式的机制而已。
一致性非锁定读:在read commited和repeatable read的隔离级别下,都会采用一致性非锁定读,其实质是每个事务读取满足自己要求的版本。(rc是读最新版,rr是读事务开始时的版本)
一致性锁定读:select for update。这个是有时候业务中需要根据读取的值做完判断之后有一些更新操作,所以必须在读取阶段就锁定。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容