文章目录
1. 数据库事务概述
1.1 存储引擎支持情况
1.2 基本概念
1.3 事务的ACID特性
1.4 事务的状态
2. 如何使用事务
- 使用事务有两种方式,分别为 显式事务 和 隐式事务 。
2.1 显式事务
2.2 隐式事务
2.3 隐式提交数据的情况
2.4 使用举例1:提交与回滚
默认情况下autocommit=true ,dml 也会自动提交数据
3. 事务隔离级别
MySQL是一个 客户端/服务器 架构的软件,对于同一个服务器来说,可以有若干个客户端与之连接,每个客户端与服务器连接上之后,就可以称为一个会话( Session )。每个客户端都可以在自己的会话中向服务器发出请求语句,一个请求语句可能是某个事务的一部分,也就是对于服务器来说可能同时处理多个事务。事务有 隔离性 的特性,理论上在某个事务 对某个数据进行访问 时,其他事务应该进行 排队 ,当该事务提交之后,其他事务才可以继续访问这个数据。但是这样对 性能影响太大 ,我们既想保持事务的隔离性,又想让服务器在处理访问同一数据的多个事务时 性能尽量高些 ,那就看二者如何权衡取舍了。
3.1 数据准备
3.2 数据并发问题
3.3 SQL中的四种隔离级别
3.4 MySQL支持的四种隔离级别
3.5 如何设置事务的隔离级别
3.6 不同隔离级别举例