MySQL怎么运行的
文章平均质量分 93
张柏沛
这个作者很懒,什么都没留下…
展开
-
MySQL怎么运行的系列(十一)快照读、锁定读、半一致性读 和 加锁语句分析
实际上,在 读已提交/读未提交 级别下,如果事务A的update语句要修改的记录已经被其他事务加了X锁,事务A就会读取该记录版本链的最新已提交版本,并判断该版本是否与update语句中的搜索条件相匹配,如果不匹配则不对其加锁(不对其修改,跳到下一条记录),匹配则对其加锁(然后陷入阻塞,待其他事务解锁后对该记录进行修改),这就是半一致性读。回表,在主键索引记录上记录锁,判断其他条件,发现不满足所有其他条件,因此释放主键索引和二级索引对应的记录的锁。如果使用自动事务提交,则select会通过MVCC快照读。原创 2022-10-02 19:28:13 · 911 阅读 · 0 评论 -
MySQL怎么运行的系列(十)Innodb中的锁:记录锁、临键锁、间隙锁、意向锁
auto-inc锁和轻量级锁带来的结果是,前者可以保证一个事务的一次insert语句产生的自增值是连续的(事务A是1/2/3,事务B是4/5/6),而后者会让事务A的一条insert语句产生的多个自增值和事务B的一条insert语句产生的多个自增值有交叉(例如 1/3/5是事务A的自增值,2/4/6是事务B的自增值)。从上面的过程看出,隐式锁起到了延迟生成锁结构的作用,如果别的事务(事务A)在执行过程中不需要更改或加锁读事务B创建的记录M,就不会在内存中生成对事务B的锁,节省了一次加锁开销。原创 2022-09-16 23:52:30 · 568 阅读 · 0 评论 -
MySQL怎么运行的系列(九)事务隔离级别和MVCC原理
为了保证事务与事务之间的修改操作不会互相影响,innodb希望不同的事务是隔离的执行的,互不干扰。两个并发的事务在执行过程中有 读读、读写(一个事务在读某条数据的同时另一个事务在写这条数据)、写读 和 写写 这4种情况......原创 2022-09-04 16:58:37 · 144 阅读 · 0 评论 -
MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理
如何理解undo日志数据库事务是mysql执行操作的最小逻辑单位,一个事务可以包含一个或者多个sql语句,这些sql要么都执行成功要么都执行失败,这就是数据库事务四大特性之一的原子性。原子性能实现的关键是在失败的时候能够发生回滚,这依赖于 undo log 日志。事务在更改数据之前会将要更改的数据备份到undo log中(undo log会保存更改前的数据,这是一个行级别的历史数据),如果发生了错误或者用户执行了rollback,就可以通过undo log将数据恢复到事务开始之前的状......原创 2022-06-26 22:30:04 · 414 阅读 · 0 评论 -
MySQL怎么运行的系列(七)25张图肝爆MySQL事务持久性和redo日志原理
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 Mysql怎么运行的系列(三)InnoDB存储结构之行结构和页结构 MySQL怎么运行的系列(四)Innodb索引结构和方案 MySQL...原创 2022-05-13 23:58:54 · 353 阅读 · 0 评论 -
MySQL怎么运行的系列(六)详解分析 Innodb 单表索引查询和连接查询效率
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 Mysql怎么运行的系列(三)InnoDB存储结构之行结构和页结构 MySQL怎么运行的系列(四)Innodb索引结构和方案 MySQL...原创 2022-05-08 01:39:30 · 692 阅读 · 0 评论 -
MySQL怎么运行的系列(五)Innodb表空间(table space)、区(extent)和段(segment)
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 Mysql怎么运行的系列(三)InnoDB存储结构之行结构和页结构 MySQL怎么运行的系列(四)Innodb索引结构和方案 MySQL...原创 2022-05-08 01:32:16 · 1268 阅读 · 0 评论 -
MySQL怎么运行的系列(四)Innodb索引结构和方案
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 Mysql系列(三)InnoDB存储结构之行结构和页结构 MySQL怎么运行的系列(四)Innodb索引结构和方案 ...原创 2022-05-05 00:23:33 · 960 阅读 · 0 评论 -
Mysql系列(三)InnoDB存储结构之行结构和页结构
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 Mysql系列(三)InnoDB存储结构之行结构和页结构 MySQL怎么运行的系列(四)Innodb索引结构和方案 ...原创 2022-05-05 00:22:33 · 964 阅读 · 0 评论 -
MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 MySQL怎么运行的系列(三)Innodb缓冲池 buffer pool 和 改良版LRU算法 MySQL怎么运行的系列(四)Innodb索引结构和方案 ...原创 2022-05-05 00:19:49 · 1541 阅读 · 0 评论 -
MySQL怎么运行的系列(一)mysql体系结构和存储引擎
本系列文章目录 展开/收起 MySQL怎么运行的系列(一)mysql体系结构和存储引擎 MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法 MySQL怎么运行的系列(三)Innodb缓冲池 buffer pool 和 改良版LRU算法 MySQL怎么运行的系列(四)Innodb索引结构和方案 ...原创 2022-05-05 00:10:19 · 1023 阅读 · 0 评论