mysql事务和锁InnoDB知识点整理

Table of Contents

背景

MySQL/InnoDB的加锁分析

MVCC

Multi-Version Concurrency Control 读不加锁,读写不冲突。

快照读

snapshot read

读取的是记录的可见版本 (有可能是历史版本),不用加锁。
简单的select操作,属于快照读,不加锁。

当前读

current read

读取的是记录的最新版本,并且,当前读返回的记录,都会加上锁,保证其他事务不会再并发修改这条记录。
特殊的读操作,插入/更新/删除操作,属于当前读,需要加锁。
读取记录加S锁 (共享锁)
插入/更新/删除操作都加的是X锁 (排它锁)


整理来自 网址:http://hedengcheng.com/?p=771

Author: josephzeng

Last Updated 2016-04-16. Created by Emacs 24.5.1 (Org mode 8.2.10)

Validate