数据库事务

事务

Transaction

在英文中事务用transaction表示,一般约定俗成的缩写为txn,所以在数据库的源代码中看到txn的话多半就是事务。

事务诞生的背景

我们假设一个银行的场景,转账这一操作在外界看来是单一的操作,但是在数据库内部涉及到很多的操作,假如转账操作发生了失败,那么数据的不一致是不能被接受的。所以这一连串的操作可以被归为逻辑上的一个操作集。要么整体都成功要么都失败。

事务的概念

在chatgpt上问事务的概念他会这样子进行回答。
这也正是事务的关键。
image.png|600
我们回归课本,看课本上给出的定义
image.png|600

事务的隔离性级别

image.png|600

我个人觉得对于隔离性的的理解是非常重要的,在后续的算子的实现当中几乎都要考虑事务的隔离等级,根据不同的隔离等级去进行不同的操作。(我个人现在比较迷茫的是怎么能比较周全的考虑不同隔离等级所带来的影响。:)。看来是时候找个大佬请教一下了。🙃


数据库事务
https://weuijiale.gitee.io/doc_learn/Database/Note/数据库事务/
作者
Weijiale
发布于
2024年2月20日
许可协议