事务并发访问问题
时间取款事务A转账事务BT1开始事务 T2 开始事务 T3查询账户余额为1000元 T4 查询账户余额为1000元T5 汇入100元把余额改为1100元T6 提交事务 T7取出100元把余额改为900元 T8撤销事务 T9余额恢复为1000 元(丢失更新)
时间转账事务A取款事务BT1 开始事务 T2开始事务 T3 查询账户余额为1000元 T4查询账户余额为1000元 T5 取出100元把余额改为900元T6 提交事务 T7汇入100元 T8提交事务 T9把余额改为1100 元(丢失更新)
时间事务A事务BT1开始事务 T2 开始事务 T3查询customer表 T4 查询customer表T5 也修改了customer字段address字段T6 T7使用该表的customer字段(是假) T8提交事务 提交事务 T9余额恢复为1000 元(丢失更新) 第二类虚读 是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。 第三类不可重复读 是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读。