MYSQL InnoDB 的隔离级别

MYSQL InnoDB 的隔离级别

  1. 读未提交 (Read uncommitted)
    就是一个事物能够看到其他事物尚未提交的修改,这是最低的隔离界别,允许脏读出现
  1. 读已提交 (Read committed)
    事务能够看到的数据都是事务已经提交的修改,也就是保证不会看到任何中间性状态,当然脏读也不会出现。读已提交仍然为较低级别的隔离,并不能保证再次读取时能够获取同样的数据,也就是允许其他事物并发修改数据,允许不可重复度和幻读出现。
  1. 可重复读 (Repeatable reads)
    保证同一个事物多次读取的数据是一致的,这是MYSQL InnoDB引擎默认的隔离级别,但是和一些其他数据库实现不同的是,可以简单任务MYSQL在可重复读级别不会出现幻读。
  1. 串行化 (Serializable)
    并发事物之间是串行化的,通常意味着读区需要获取共享读锁,更新需要获取排他写锁,如果SQL使用了WHERE语句,还会获取区间锁(MYSQL 以GAP锁形式实现,可重复读级别中默认是也会使用), 这是最高的隔离级别
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容