惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
Google DeepMind News
Google DeepMind News
腾讯CDC
G
Google Developers Blog
Martin Fowler
Martin Fowler
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
爱范儿
爱范儿
Engineering at Meta
Engineering at Meta
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
Jina AI
Jina AI
人人都是产品经理
人人都是产品经理
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
M
MIT News - Artificial intelligence
罗磊的独立博客
博客园 - 三生石上(FineUI控件)
美团技术团队
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志

蓝冰小站

从 CallBack 到 Promise,React 框架异步开发学习心得 2022年保研经历--快乐与痛苦并存的夏 | 蓝冰小站 DNS CCA记录与SSL证书申请 | 蓝冰小站 境内外分离并分离图片源的 Hexo 博客配置 | 蓝冰小站 【论文阅读】Computational Design of High-level Interlocking Puzzles 论文翻译——MeshCNN | 蓝冰小站 英文学术论文写作指南 | 蓝冰小站 Neural Marching Cubes——基于 ResNet 的 Marching Cubes 算法 【添翼工程】雅思课 | 蓝冰小站 【雅思哥】雅思口语会员课程笔记 | 蓝冰小站 【雅思哥】雅思 7 分备考 | 蓝冰小站 【雅思哥】雅思 FAQ | 蓝冰小站 C++ 中字符串与数字的拼接 | 蓝冰小站 退群杯——从闲聊到现实 | 蓝冰小站 Ubuntu 常见安装使用问题速查 | 蓝冰小站 基于 GitHub Actions + 宝塔 + DCDN 的 Hexo 博客配置 孤独 | 蓝冰小站 聊聊证书 | 蓝冰小站 CDN 是什么可以吃吗 | 蓝冰小站
【数据库实验】实验8解析 | 蓝冰小站
论文 · 2022-06-20 · via 蓝冰小站

在不开启自动提交的时候,用户对数据库的修改仅对自己可见,直到 commit 提交结果,或 rollback 撤回结果。commit 的结果无法 rollback,反之同理。

有一个例外,一些对表结构的操作(创建修改表结构,以及对索引的操作),会使得在操作之前自动 commit 提交事务,执行完再次 commit,使得这些操作是不可被撤销的。

网上对于这个实验只有答案,没有解释,来解释一下答案的来源。

序号 窗口 题号 执行语句 结果/解释
1 备用窗口 update test8_00 set age=88 当前用户可见 88,其他人不可见
2 备用窗口 结果 1 select * from test8_00 88
3 备用窗口 commit 提交成功,其他成员可见 88
4 备用窗口 rollback 该语句紧跟在 commit 后面无效
5 备用窗口 update test8_00 set age=age+1 当前用户可见 89,其他人为 88
6 备用窗口 rollback 回滚成功,所有成员可见 88
7 备用窗口 commit 该语句紧跟在 rollback 后面无效
8 备用窗口 update test8_00 set age=age+2 当前用户可见 90,其他人为 88
9 备用窗口 commit 提交成功,其他成员可见 90
10 备用窗口 结果 2 select * from test8_00 90
11 备用窗口 rollback 回滚查询语句对数据存储没有影响
12 主窗口 结果 3 select * from userb.test8_00 90
13 备用窗口 update test8_00 set age=age-2 当前用户可见 88,其他人为 90
14 备用窗口 update test8_00 set age=age-2 当前用户可见 86,其他人为 90
15 备用窗口 结果 4 select * from test8_00 86
16 主窗口 结果 5 select * from userb.test8_00 90
17 主窗口 commit 提交查询语句对数据存储没有影响
18 主窗口 结果 6 select * from userb.test8_00 90
19 主窗口 rollback 回滚查询语句对数据存储没有影响
20 主窗口 update userb.test8_00 set age=age-10 卡死,等待备用窗口提交或回滚后执行
21 备用窗口 结果 7 select * from test8_00 86
22 备用窗口 create table test8_01 as select * from test8_00 建表前提交之前事务,解冻主窗口,主 76 其他 86
23 备用窗口 rollback 创建表无法回滚
24 备用窗口 结果 8 select * from userb.test8_00 86
25 主窗口 结果 9 select * from userb.test8_00 76
26 主窗口 rollback 所有用户回归 86
27 主窗口 结果 10 select * from userb.test8_00 86