MySQL老大难事务和锁,一次性讲清楚!
点击上方蓝色“ java大数据修炼之道 ”, 选择“ 设为星标 ” 每晚九点: 技术干货 👉 必定奉上 本文来源:http://r6d.cn/acuaX 众所周知, 事务和锁 是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍 事务和锁 的相关概念及其实现原理,相信大家看完之后,一定会对 事务和锁 有更加深入的理解。 “ 本文主要内容是根据掘金小册《从根儿上理解 MySQL》整理而来。如想详细了解,建议购买掘金小册阅读。 ” 什么是事务 在维基百科中,对事务的定义是: 事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成 。 事务的四大特性 事务包含四大特性,即 原子性(Atomicity) 、 一致性(Consistency) 、 隔离性(Isolation)和持久性(Durability) (ACID)。 原子性(Atomicity) 原子性是指对数据库的一系列操作,要么全部成功,要么全部失败,不可能出现部分成功的情况 。以转账场景为例,一个账户的余额减少,另一个账户的余额增加,这两个操作一定是同时成功或者同时失败的。 一致性(Consistency) 一致性是指数据库的完整性约束没有被破坏,在事务执行前后都是合法的数据状态 。这里的一致可以表示数据库自身的约束没有被破坏,比如某些字段的唯一性约束、字段长度约束等等