加载中......
输入验证码,即可复制
微信扫码下载好向圈APP, 登陆后即可进入消息页面查看验证码
只需要3秒时间
MySQL默认的事务隔离级别是RR(Repeatable Read), 可重复读


MySQL的多版本并发控制(MVCC)-1.jpg

查看MySQL的事务隔离级别

    可重复读就是通过MVCC(multi-version concurrency control), 多版本并发控制来实现的. MVCC最大的好处就是读不加锁, 读写不冲突. mysql的innoDB采用的是行级锁, 利用mvcc是用来提高性能. mvcc原理是在每一条记录后面新增两列: create version和delete version insert的时候create version加1; update的时候把 老记录的delete version变为当前事务版本号, 新纪录的create version也是当前事务版本号; delete的时候把delete version变为当前事务版本号; select的时候符合以下条件的记录可以被查出来:delete version大于当前事务版本号的记录; create version 小于或者等于当前事务版本号 只针对read commited和repeatable read两种; 因为读未提交(read uncommited)是读未提交的, 所以不存在版本问题; 序列化(serializable)是会所有的行都加锁.
MySQL相关文章推荐:

MySql 解析顺序 MySQL事务隔离级别 MySQL日志(错误日志, 二进制日志, 慢查询日志等)介绍 MySQL的多版本并发控制(MVCC) MySQL 索引(单列索引, 组合索引, 全文索引)及索引失效 MySQL索引数据结构 MySQL char和varchar的区别 MySQL主从复制的过程及原理 MySQL优化
数据库
22848 查看 3 0 反对

说说我的看法高级模式

您需要登录后才可以回帖 登录|立即注册

  • duopo1988

    2021-2-26 06:54:57 使用道具

    来自: 中国来自: 中国来自: 中国来自: 中国
    已转发
  • Cold_cowboy

    2021-2-26 18:49:58 使用道具

    来自: 北京来自: 北京来自: 北京来自: 北京
    转发了
  • 逸涵无敌

    2021-2-27 07:05:50 使用道具

    来自: 中国来自: 中国来自: 中国来自: 中国
    转发了