【引言】
大家都知道数据库总事务四特性:原子性、一致性、隔离性和持久性,也就是人们俗称的
特性。在实际生产应用中,数据库中的数据是要被多用户共享
访问,而在多个用户
同时操作相同数据时,可能会出现一些事务的并发问题,这就就有了事务隔离性的四种不
同级别。今天,本文将围绕事务的特性、并发问题、隔离级别进行集中学习。
之前的一篇相关推文介绍过
MySQL
的三种锁:
《浅谈
三种锁:全局锁、表锁和行锁》点击查看
首先回顾下事物的概念:
一个事务中的一系列的处理操作操作要么全部成功,要么一个都不做。在数据库操作中,
一项事务(
)是由一条或多条操作数据库的
语句组成的一个不可分割的
工作单元。
那么,事务的处理结束就会有两种:
当事务中的所有步骤全部成功执行时,事务提交,
成功;
如果其中任何一个步骤失败,该事务都将发生回滚操作,撤消已执行的所有操作。
再来看下事务的四个特性:
)原子性(
)
表示将事务中所进行的操作捆绑成一个不可分割的单元,即对事务所进行的数据修改等操
作,要么全部执行,要么全不执行;如果失败,就回滚到事务开始前的状态
)一致性(
)
事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之
前和执行之后都必须处于一致性状态。
)隔离性(
)
指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其
他事务是隔离的,并发执行的各个事务之间不能互相干扰。
)持久性(
)
持久性也称永久性(
),持久性就是指如果事务一旦被提交,数据库中数据
的改变就是永久性的,即使断电或者宕机的情况下,也不会丢失提交的事务操作。
评论