数据库事务
工作以来一直使用MySQL InnoDB引擎,业务代码中往往需要使用事务,事务有以下几个特性, A(原子性),C(一致性),I(隔离性),D(持久性)
原子性
一个事务被视为最小执行单元,要么全部执行,要不全不执行
一致性
数据库总是从一个一致性的状态转移到另外一个一致性的状态
隔离性
一个事务所做的修改在commit之前,对其他事务来说是不可见的
持久性
一个事务commit之后,就持久的保存在系统中,无论系统错误或者系统重启,数据也不会丢失
事务的隔离级别
在数据库操作中,为了保证在并发读取数据的正确性,提出了事务的隔离级别。
隔离级别脏读不可重复读幻读
未提交读(read uncommited)可能可能可能已提交读 ( read commited)不可能可能可能可重复读 (read repeatable)不可能不可能可能串行读 (read serializable)不可能不可能不可能