innodb事务的四大特性

一、事务简介:

事务是并控制单位,是用户控制操作的一个序列。

在MySQL种innodb支持事务,通常以执行sql开始,以提交(commit)或回滚(rollback)结束,

1、原子性(Atomicity):

事务是数据库的逻辑工作单位,事务种包含的各种操作要么都做,要么都不做。保证操作是原子性。

2、一致性(Consistency):

事务执行的结果必须达到从原来的一致性状态变道另外的一致性状态。

例如:当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态,如果数据库系统运行故障,有些事务还未来的及提交就被迫中断,这些未完成的事务对数据所做的修改有一部分已写入数据库种,这种情况就是破坏了一致性。

3、隔离性(Isolation):

一个事务的执行不能被其他事务干扰。需要做到并发事务隔离,并发执行的各个事务之间不能互相干扰。

隔离级别:

(1)、读取未提交(READ-UNCOMMITTED):

  最低的隔离级别,允许读取未提交的数据变更,这样可能导致脏读、幻读或不可重读。

(2)、读取已提交(READ-COMMITTED):

允许读取并发事务已提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。

(3)、可重复读(REPEATABLE-READ):

对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。

(4)、可串行化(SERIALIZABLE):

最高的隔离级别,完全服从事务的四大特性的隔离级别,所有的事务依次逐个执行,这样的事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。

innodb事务的四大特性_第1张图片

4、持久性(Durability):

对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

你可能感兴趣的:(MySQL)