谈谈MySQL的事务隔离级别
这篇文章能够阐述清楚跟数据库相关的四个概念:事务、数据库读现象、隔离级别、锁机制 一、事务 先来看下百度百科对数据库事务的定义: 作为单个逻辑单元执行一系列操作,要么完全执行,要么完全不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。 事务有四个属性,称为ACID属性: 1、原子性(Atomicity):事务是一个原子单位,要么全部执行,要么全部不执行。 2、一致性(Consistent):事务的开始和结束,数据都必须保持一致状态。 3、隔离性(isolation):数据库系统提供隔离机制,保证并发事务之间是互相不干扰的。也就意味着事务处理过程中的中间状态对其他的事务是透明的。 4、持久性(Durable):事务完成之后,对数据的修改是永久性的,即使出现系统故障也能够保持。 事务是一系列SQL语句的集合,如果没有事务,会出现什么问题?或者说SQL只能一条一条的单个执行,会出现什么问题? 这个很简单,如果没有事务,我们平时生活中的银行转账就无法操作。 二、数据库读现象 ACID属性里面有一个是隔离级别,即并发事务之间互相不干扰。互相不干扰只是一...