不对呀?我这里可以直接读取另一个事务的临时数据啊?

不对呀?我这里可以直接读取另一个事务的临时数据啊?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,A事务是从数据库中读取数据的,如果B事务已经提交,A事务读取的就是B事务提交后的数据。当事务提交后,undo和redo日志会刷新。

祝学习愉快~

阿山123 提问者 2021-04-22 14:38:27

老师,不用回答一开始提问的问题了,那个是我操作问题,回答下我这个问题和下面的问题下,麻烦了

http://img1.sycdn.imooc.com//climg/608117c609283e0112220200.jpg

http://img1.sycdn.imooc.com//climg/608117c609a1657106530256.jpg

http://img1.sycdn.imooc.com//climg/608117c609d7efd918461005.jpg

http://img1.sycdn.imooc.com//climg/608117f1093edca615620588.jpg

1--A事务只能读取到B事务的提交以后的数据,那么当B事务提交以后,数据表的数据也会发生改变,那么A事务是从哪里读取数据的?

2--A事务是不是先判断B事务有没有提交数据,如果提交了数据,数据表也会发生了改变,A事务是直接从数据表中重新查找数据,当然这是新的数据了,所以结果是对的

还有,A事务先判断B事务有没有提交数据,如果提交了数据,A事务从B事务里面的redo日志文件里面找到要更改的数据,当然结果也是对的、

就想知道A事务是从哪里读取数据的?

  • 提问者 阿山123 #1

    我知道答案了,A事务是先判断B事务有没有提交数据,如果提交了数据,A事务直接从数据表获取新的数据

    因为B事务提交数据以后,B事务的undo日志文件和redo日志文件就会被清空数据,这里老师也没仔细说,uodo和redo日志文件倒像是一个临时存储数据表的地方,一旦事务提交以后,日志文件就没数据表了

    2021-04-22 15:31:14
阿山123 提问者 2021-04-22 13:40:21

http://img1.sycdn.imooc.com//climg/60810c1c090a846216930833.jpg

发现开启事务以后,不提交或者回滚的话,不能导入新的SQL文件了?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师