MySQL的事务隔离级别

事务隔离级别描述了一个事务可能受其他并发执行事务的影响程度。

隔离级别脏读不可重复读幻读
读未提交
读已提交×
可重复读××
串行化×××

如上图MySQL中的事务隔离级别主要有四种:

  1. 读未提交(Read Uncommitted) 这是隔离级别最低的一种。这里事务可以读取其他未提交事务修改过的数据。可能会导致脏读、不可重复读和幻读的问题。
  2. 读已提交(Read Committed) 这可以防止脏读,因为事务只能读取已经提交的数据。但是不可重复读或幻读的问题仍然可能存在。
  3. 可重复读(Repeatable Read)
    这进一步可以防止不可重复读情况发生。因为同一个事务中多次读取同一数据结果是一致的。但幻读的问题仍然可能存在。
  4. 串行化(Serializable) 这是最高的隔离级别,通过强制事务顺序执行,可以完全杜绝上述隔离问题。但性能最差。

InnoDB存储引擎的默认隔离级别就是可重复读。

事务用于保证数据一致性,隔离级别用于在一定程度上隔离不同事务对数据库的影响。合理利用事务与设置隔离级别,可以优化应用的性能。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值