当前位置:Gxlcms > 数据库问题 > 关于数据库

关于数据库

时间:2021-07-01 10:21:17 帮助过:4人阅读

, 你读取过的数据, 再次读取出来发现值不一样了 ):事务1中的A先生读取自己的工资为 1000的操作还没完成,事务2中的B先生就修改了A的工资为2000,导 致A再读自己的工资时工资变为 2000;这就是不可重复读。

例2(同样的条件, 第1次和第2次读出来的记录数不一样 ):假某工资单表中工资大于3000的有4人,事务1读取了所有工资大于3000的人,共查到4条记录,这时事务2 又插入了一条工资大于3000的记录,事务1再次读取时查到的记录就变为了5条,这样就导致了幻读

 

数据库如何实现 rollback 的?

数据库在写入数据之前是先讲对数据的改动写入 redo log 和 undo log,然后在操作数据,如果成功提交事务就会讲操作写入磁盘;如果失败就会根据redo log 和 undo log 逆向还原到事务操作之前的状态。

关于数据库

标签:mod   工资单   事务   dirty   repeat   class   一致性   rollback   另一个   

人气教程排行