天天看点

数据库事务

工作以来一直使用mysql innodb引擎,业务代码中往往需要使用事务,事务有以下几个特性, a(原子性),c(一致性),i(隔离性),d(持久性)

一个事务被视为最小执行单元,要么全部执行,要不全不执行

数据库总是从一个一致性的状态转移到另外一个一致性的状态

一个事务所做的修改在commit之前,对其他事务来说是不可见的

一个事务commit之后,就持久的保存在系统中,无论系统错误或者系统重启,数据也不会丢失

在数据库操作中,为了保证在并发读取数据的正确性,提出了事务的隔离级别。

隔离级别

脏读

不可重复读

幻读

未提交读(read uncommited)

可能

已提交读 ( read commited)

不可能

可重复读 (read repeatable)

串行读 (read serializable)