数据库学习笔记 ---------------事务

一、事务的概念

我的理解是,它可能是对数据库的一系列的操作,但对于一个应用程序来说,是最小的逻辑执行单元。这中间对数据库的一系列的操作任何一个都必须成功,才能成功。否则全部操作失败。即要么全部成功,要么全部失败。
如:转账的时候,必须同时修改两个账号的余额,否则就破坏了数据的完整性。

二、事务的特性

通常来讲,事务具备四个特性,即原子性、一致性、隔离性和持续性。也称ACID性

  1. 原子性
    如同原子是自然界的最小颗粒一样,具有不可分割的性质。事务是应用执行过程中不可再分的逻辑操作。

  2. 一致性
    我的理解是将数据库中的数据要与客观世界的实体保持一致。如转账操作,必须确保转账人和收款人的账户和客观世界的转账操作对应起来。在客观世界中,不可能A将钱给B,但钱还在A这。这里的一致性强调的就是同客观世界A和B剩余金额的一致。而这里的一致性需要原子性来保证。

  3. 隔离性
    确保各个事务的执行都不干扰。即对于并发操作,任意一个事务的内部操作于其他事务没有联系。

  4. 持续性
    也叫持久性,即事务一旦提交,对事物的操作就应该保存到数据库中。

三、事务的注意事项

数据库事务应该尽可能的短,从而降低数据库锁定造成资源的争用。数据库长事务会导致应用程序无法承载高并发的负荷。

你可能感兴趣的:(数据库)