摘要: 1. 表锁 (Table Lock) 与隔离级别的关系:基本无关。 说明:表锁是MySQL中最基本的锁策略,它直接锁住整张表。它的行为(如读锁、写锁)主要由SQL语句本身决定(例如 LOCK TABLES ... READ/WRITE 或某些DDL语句如 ALTER TABLE),与您设置的事务隔离 阅读全文
posted @ 2025-08-30 16:40 adragon 阅读(13) 评论(0) 推荐(0)
摘要: MySQL InnoDB 在 REPEATABLE READ (RR) 隔离级别下,通过 MVCC 和 间隙锁(Next-Key Lock) 在很大程度上避免了幻读,但并非在所有场景下都能 100% 解决。 幻读的核心问题:一个事务在重新执行同一个查询时,看到了第一次查询时没有的新的行(这些行是由其 阅读全文
posted @ 2025-08-30 16:36 adragon 阅读(12) 评论(0) 推荐(0)
摘要: 概述 特性 快照读 (Snapshot Read) 当前读 (Current Read) 核心原理 基于 MVCC 和多版本数据 基于 锁 机制 读取内容 历史版本数据(某个时间点的快照) 数据的最新已提交版本 是否加锁 不加锁(非阻塞) 加锁(S锁或X锁) 实现方式 普通的 SELECT 语句 S 阅读全文
posted @ 2025-08-30 16:35 adragon 阅读(21) 评论(0) 推荐(0)
摘要: MySQL 中 InnoDB 存储引擎实现 MVCC 一、MVCC 的含义 MVCC,全称是 Multi-Version Concurrency Control,即多版本并发控制。 它是一种数据库管理技术,用于高效地处理多用户环境下的读-写和写-写冲突,从而实现非阻塞的读操作,并提高数据库的并发性能 阅读全文
posted @ 2025-08-30 16:35 adragon 阅读(21) 评论(0) 推荐(0)