MySQLInnoDB究竟如何巧妙实现

北京青春痘医治医院 http://pf.39.net/bdfyy/bdfjc/210311/8736814.html
事务ACID特性,其中I代表隔离性(Isolation)。什么是事务的隔离性?隔离性是指,多个用户的并发事务访问同一个数据库时,一个用户的事务不应该被其他用户的事务干扰,多个并发事务之间要相互隔离。一个事务怎么会干扰其他事务呢?咱们举例子来说明,假设有InnoDB表:

t(idPK,name);

表中有三条记录:

1,shenjian

2,zhangsan

3,lisi

case1:读脏事务A,先执行,处于未提交的状态:

insertintotvalues(4,wangwu);

事务B,后执行,也未提交:

select*fromt;

如果事务B能够读取到(4,wangwu)这条记录,事务A就对事务B产生了影响,这个影响叫做“读脏”,读到了未提交事务操作的记录。case2:不可重复读事务A,先执行:

select*fromtwhereid=1;

结果集为:

1,shenjian

事务B,后执行,并且提交:

updatetsetname=xxoowhereid=1;




转载请注明:http://www.aierlanlan.com/cyrz/466.html