码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MYSQL事务隔离级别分析


    MYSQL事务隔离级别分析

    • 不可重复读和幻读的区别?

    不可重复读和幻读的区别?

    先理解几个概念

    1. 不可重复读
      一个事务中,后续查询结果得到不同的数据,可被重复读隔离级别解决
    2. 幻影
      出现在查询结果集中但不出现在较早查询的结果集中的行
    3. 幻读
      一个事务中,先后执行两次查询,与此同时,另一个事务插入新行或更改行后提交,出现的数据不一致情况,比不可重复读更难防范,因为锁定第一个查询中的所有行无法阻止导致幻读出现的更改

    再来看区别

    1. 很相似
    • 前后两次查询看到的数据情况不一致
    1. 场景会有些不同
    • 不可重复读
      一般针对单行数据
      可被可重复读隔离级别解决

    • 幻读(除了序列化隔离级别外,都存在)
      一般针对多行数据,范围查询
      无法被可重复读隔离级别解决

    幻读解决方案

    1、InnoDB 间隙锁

    • 用途

      • 解决幻读
      • 用于数据恢复和复制需要(较早版本中,5.1以前?)
    • 加锁时机

      • 通过范围条件加锁
      • 使用相等条件请求给一个不存在的记录加锁

    日志格式与复制模式

    • 日志格式
      • BINLOG
    • 复制模式
      • 基于语句的复制模式:加锁性能消耗比较大
      • 基于行数据的复制:解决非安全SQL问题
      • 混合模式
      • 全局事务ID:解决主从同步问题

    针对不安全SQL,对数据上锁,导致并发性能下降,如何解决

    • innodb_locks_unsafe_for_binlog 的值设置为“on”,强制MySQL使用多版本数据一致性读,复制会出现数据不一致问题
    • 通过使用“select * from source_tab … Into outfile”和“load data infile …”语句组合来间接实现,mysql就不会对表加锁了
    • 基于行的BINLOG格式和基于行数据复制

    InnoDB在不同隔离级别下一致性读及锁的差异

  • 相关阅读:
    计算机毕业设计(附源码)python迎新系统
    剑指 Offer 50. 第一个只出现一次的字符(Python3解法)
    FFmpeg 命令:从入门到精通 | ffplay 命令播放媒体
    ipv6地址概述——了解ipv6与ipv4不同
    Arduino ESP32/ESP8266 +ST7735 1.8“tft中秋小时钟
    mysql存储过程 使用游标实现两张表数据同步数据
    测试开发工程必备技能之一:Mock的使用
    (未整理完)十月每日一题打卡
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    100天精通Golang(基础入门篇)——第22天:深入探讨Go中的‘type‘关键字
  • 原文地址:https://blog.csdn.net/sinat_22631433/article/details/132899384
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号