当前位置: 首页 > news >正文

MySQL面试题(二)

事务的四大特性ACID

  1. 原子性,通过undo log来保证
  2. 一致性,通过原子性+持久性+隔离性
  3. 隔离性,通过多版本并发控制和锁来保证
  4. 持久性,通过redo log来保证

Read View在MVCC里是如何工作的

Read View有四个字段:

  1. m_ids:指的是在创建Read View时,当前数据库中活跃事务的事务id列表,不包括他本身
  2. min_tx_id:m_idx中的最小值
  3. max_trx_id:创建 Read View 时,下一个将要分配给新事务的事务 id 值
  4. creator_trx_id:创建改Read View的事务的事务id

聚簇索引包含两个隐藏列:

  1. trx_id:记录正在更改索引记录的事务的事务id
  2. roll_pointer:是一个指针,指向每一个旧版本的记录

通过「版本链」来控制并发事务访问同一个记录时的行为就叫 MVCC(多版本并发控制)。

  1. 当trx_id小于Read View中的min_trx_id时,该版本对当前事务可见
  2. 当trx_id大于等于Read View中的max_trx_id时,该版本对当前事务不可见
  3. 当trx_id在Read View中的m_ids列表中时,生成该版本的事务仍在活跃,该版本对当前事务不可见
  4. 当trx_id不在Read View中的m_ids列表中时,该版本对当前事务可见

幻读的解决办法

  1. 对于快照读,通过MVCC方式解决,在可重复读隔离级别下,其他事务插入数据,是没有干扰的
  2. 对于当前读,通过next-key lock(记录锁+间隙锁)方式解决,在next-key lock锁范围内插入语句会被阻塞,可以避免幻读问题

读已提交与可重复读在Read View上的不同

  1. 读已提交是在每一个select都会生成一个新的Read View,当事务期间多次读取数据,两次读取到的版本不同,数据也不同
  2. 可重复读是在启动事务时生成一个Read View,整个事务期间都用这一个Read View

undo log、redo log、binlog作用

  1. undo log(回滚日志):是 Innodb 存储引擎层生成的日志,实现了事务中的原子性,主要用于事务回滚和 MVCC
  2. redo log(重做日志):是 Innodb 存储引擎层生成的日志,实现了事务中的持久性,主要用于掉电等故障恢复
  3. binlog(归档日志):是Server 层生成的日志,主要用于数据备份和主从复制;
http://www.jsqmd.com/news/1164800/

相关文章:

  • GPS/INS 松紧组合导航实战:3种卡尔曼滤波方案对比与嵌入式平台部署
  • 蓝牙射频认证测试:定频样机准备与治具连接的3个关键步骤
  • 虚拟滚动列表深度解析
  • 想选专业陕西GEO优化系统?这些挑选秘诀你不能错过!
  • 电商物流追踪的技术演进:从规则识别到并发查询的完整解析
  • 2026年南宁私立高中学情观察:聚焦升学质量与多元发展路径 - 品牌鉴赏官2026
  • Unity游戏实时翻译插件XUnity.AutoTranslator:原理、部署与调优全指南
  • AI提示词生成电商产品三维透视效果图:从原理到实践
  • 操作系统内存管理:3种地址绑定方式(编译/加载/运行时)深度对比与演进
  • Prompt工程指南:从基础概念到高级技巧的AI交互优化
  • SRAM 6116 与 74LS273/245 芯片联调:5步完成8位地址/数据总线读写时序分析
  • ACM暑期第一次周赛
  • AB大车驾照都可以开什么车,增驾条件是什么
  • OCPP 2.0.1 协议网关实战:基于EMQX 5.x的3步配置与WebSocket连接测试
  • 阿里云Happy Horse文生视频实战:从API调用到完整项目集成
  • 猎头提效工具哪个好?2026最新横评:世纪云猎核心优势解析
  • 2026年7月铸造覆膜砂/江苏刹车盘专用覆膜砂厂家优选名单_南通昕智新材料科技有限公司 - 品牌宣传支持者
  • 大模型开源变革:开放权重模型的技术挑战与可持续性分析
  • 监控httpd状态
  • 从赛题到产品:数控电源4大关键模块(显示、控制、稳压、保护)实测分析
  • NE5532P 信号预处理电路实战:0.1V~2kV 正弦/三角波转 3.3V 方波(附 PCB 设计)
  • Hermes v0.14 原生 Windows 部署:告别 WSL,实现智能体框架开箱即用
  • PCAtools 2.12.0 实战:R语言5步完成转录组PCA分析与3类可视化
  • AI金融监管:黑盒模型、算法公平与RegTech应对策略
  • AI算力成本分析:2029年或达工程师薪酬2.3倍的技术挑战与应对
  • 【AI专栏】图解Transformer - 第06章:LLM推理服务
  • Kubernetes Service Mesh排障实战:Istio Sidecar注入失败与流量管理异常的排查手册
  • 为什么 Agent 时代,大家都在做 CLI ?
  • 2026年7月江苏铸造覆膜砂/汽车配件专用覆膜砂生产商精选推荐_南通昕智新材料科技有限公司 - 行业平台推荐
  • 物流数据资产化:电商运营的第四增长曲线