数据库 | Mysql - [事务]

@

§1 特性

  • 原子性:Atomicity
  • 一致性:Consistency
  • 隔离性:Isolation
  • 持久性:Durability

§2 隔离级别

并发事务问题

  • 脏读
    读到其他事务中 已修改但未提交 的数据
  • 不可重复读
    一个事务中多次查询 一条数据 但返回不同的结果
    这是应为在另一个事务中 修改、删除 这条数据后并提交导致的
  • 幻读
    一个事务中多次查询 多条数据(范围) 但返回不同的结果
    这是应为在另一个事务中向这一范围的数据中 插入 一条或多条数据后并提交导致的

不可重复读 & 幻读 区别

不可重复读 幻读
针对数据量 1 n
操作 update / delete insert

各个隔离级别

  • 读未提交
  • 读已提交
  • 可重复读
  • 串行化

各个隔离级别对比

隔离级别 读一致性 解决脏读 解决不可重复读 解决幻读
读未提交( Read Uncommitted ) × × ×
读已提交( Tead committed ) 语句 × ×
可重复读( Repeatable Read ) 事务 ×(InnoDB 中 √)
串行化( Serializable ) 事务

因此常使用 InnoDB + Repeatable Read 配置数据库

查看隔离级别

show variables like 'tx_isolation';
posted @ 2025-05-20 15:04  问仙长何方蓬莱  阅读(5)  评论(0)    收藏  举报