事务A | 事务B |
|---|---|
update name="test" from a where id = 1 | |
select name from a where id = 1 输出name=test | |
commit |
事务A | 事务B |
|---|---|
select * from a where age > 4 and age <=8 , 输出行age=5 age=6 age=7各一行,总共3行 | |
insert into a(age) values(8);commit | |
select * from a where age > 4 and age <=8 , 输出行age=5 age=6 age=7 age=8各一行,总共4行,for update 锁定读,锁定读会读取当前已提交的最新数据,此时也就产生了幻读 |
事务A | 事务B |
|---|---|
select * from a where age > 4 and age <=8 , 输出行age=5 age=6 age=7各一行,总共3行 | |
insert into a(age) values(8);commit | |
select * from a where age > 4 and age <=8 , 输出行age=5 age=6 age=7各一行,总共3行, 跟之前比没有变化,这是采用了快照读,也是就是mvcc的版本管理 |
参考 高性能mysql (第4版)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。