带你了解数据库中事务的ACID特性

前言

前面我们介绍过数据库中带你了解数据库中JOIN的用法与带你了解数据库中groupby的用法的相关用法。本章节主要来介绍下数据库中一个非常重要的知识点事务,也是我们项目中或面试中经常会遇到的知识点。如有错误还请大家及时指出~

涉及面试题:

请讲下你对事务的理解?

讲下事务有那几大特性?

以下都是采用mysql数据库

事务

事务(Transaction),是我们关系型数据库中非常重要的一个概念,它要符合ACID特性。是由一组SQL语句组成的一个程序执行单元(Unit),该执行单元要么成功Commit,要么失败Rollback。

ACID特性

Atomicity

Consistency

Isolation

Durability

Atomicity(原子性)

原子性:指事务是一个不可再分割的工作单元,事务中的操作要么都发生,要么都不发生。通俗的说:我们有一堆的事情,它要么全做,要么全都不做,不能只做一半。比如我们的银行转账。我把钱转给你,把我的钱扣掉,然后把你的钱加上去。不能只做一半,只把我的钱扣掉,你的钱没有加上去。

Consistency(一致性)

一致性指事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。通俗的说:我和你的钱加起来一共是,那么不管我和你之间如何转账,转几次账,事务结束后我们的钱相加起来应该还得是,这就是事务的一致性。

Isolation(隔离性)

隔离性指多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。通俗的说:多个用户并发访问操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。

数据库定义了4个隔离的级别:

READ_UNCOMMITTED

READ_COMMITTED

REPEATABLE_READ

SERIALIZABLE

下篇文章我们将专门介绍事务的隔离性

Durability(持久性)

持久性指事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。通俗的说:比如我将事务做完之后,这个结果是能持久下去的并能一直存下去。不管断电还是其他情况。

关系型数据库都实现了ACID这样的一些事务特性。其中最关键的一点是Isolation(隔离性),互相不影响。

文末

本章节主要简单介绍了数据库中事务的ADID特性,下一章我们将详细介绍事务隔离。欢迎







































看白癜风费用贵吗
看白癜风哪个医院好



转载请注明:http://www.xcqg58.com/zyyd/9659.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了