资料总结 资料总结
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

linghui Wu

一只努力学飞的鱼
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 数据库表设计
  • mysql

    • 索引
    • mysql
    • Sql优化
    • 事务
      • 操作
        • 参考资料
    • 锁机制
    • MVCC
    • MySQL高可用架构
    • 运维内容
  • redis

  • MongoDB

  • InfluxDB
  • 数据库
  • mysql
wulinghui
2022-02-21
目录

事务

# 事务四大特性

  • 原子性(Atomicity)
  • 一致性(Consistent)
  • 隔离性(Isolation)
  • 持久性(Durable)

# 并发事务的问题

  • 脏写(更新丢失) : 最后的更新覆盖了由其他事务所做的更新
  • 脏读 : 事务A读取到了事务B已经修改但尚未提交的数据
  • 不可重读 : 事务A内部的相同查询语句在不同时刻读出的结果不一致,不符合隔离性
  • 幻读 : 事务A读取到了事务B提交的新增数据,不符合隔离性

# 事务隔离级别

  • 读未提交(read-uncommitted) : 以上问题都可能
  • 读已提交/不可重复读(read-committed) : 可以解决脏读
  • 可重复读(repeatable-read) : 可以解决脏读、不可重复读;mysql默认的事务隔离级
  • 串行化(serializable) : 可以解决脏读、不可重复读、幻读 ; 查询也会被加上行锁

# 操作

  • 常看当前数据库的事务隔离级别: show variables like 'tx_isolation';
  • 设置事务隔离级别:set tx_isolation='REPEATABLE-READ';

# 参考资料

MySQL的四种事务隔离级别 (opens new window)

编辑 (opens new window)
上次更新: 2023/01/24, 15:21:15
Sql优化
锁机制

← Sql优化 锁机制→

最近更新
01
架构升级踩坑之路
02-27
02
总结
02-27
03
语法学习
02-27
更多文章>
| Copyright © 2021-2025 Wu lingui |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式