-
MySQL怎么运行的系列(十一)快照读、锁定读、半一致性读 和 加锁语句分析
发布时间:2022-10-02 19:21本节我们通过一些具体的案例来分析Innodb对表上锁的过程。具体场景如下图所示。在这里我们将语句分为4类:普通select(快照读)、锁定读、半一致性读 和 insert语句。普通读普通的select
-
MySQL怎么运行的系列(十)记录锁、临键锁、间隙锁、意向锁
发布时间:2022-09-16 23:48一、锁在sql并发的作用场景在正式介绍mysql(准确来说是Innodb中)的各种锁之前,我们先说说数据库的锁会在事务中的什么情况下被用到。事务并发可以分为3种情况:写写写写(事务A对某条记录进行写操
-
MySQL怎么运行的系列(九)事务隔离级别和MVCC原理
发布时间:2022-09-04 16:52一、事务的隔离级别为了保证事务与事务之间的修改操作不会互相影响,innodb希望不同的事务是隔离的执行的,互不干扰。两个并发的事务在执行过程中有 读读、读写(一个事务在读某条数据的同时另一个事务在写这
-
MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理
发布时间:2022-06-26 22:17一、什么是undo日志 如何理解undo日志 数据库事务是mysql执行操作的最小逻辑单位,一个事务可以包含一个或者多个sql语句,这些sql要么都执行成功要么都执行失
-
MySQL怎么运行的系列(七)25张图爆肝MySQL事务持久性和redo日志原理
发布时间:2022-05-13 23:55一、事务的ACID特性参考这篇文章,这里不再赘述。Mysql事务和锁(一) 事务的ACID特性事务的状态一个事务是一系列的SQL操作,我们可以把一个事务的不同阶段划分为以下状态:活动状态:事务的sql
-
MySQL怎么运行的系列(六)万字长文分析 Innodb 单表索引查询和连接查询效率
发布时间:2022-05-07 23:05一、MySQL查询访问方法mysql执行查询语句的方式叫做访问方法或访问类型,这些访问类型具体为 const、ref、range、index、all等。同一个查询语句可以使用多种不同的访问方法来执行,
-
MySQL怎么运行的系列(五)Innodb表空间(table space)、区(extent)和段(segment)
发布时间:2022-05-07 11:00上一节我们介绍了InnoDB的索引结构B+树,这一节我们关注Innodb的表空间。当插入一条记录到一个已经满了的页中时会导致页分裂,InnoDb引擎会申请一个新页来存储分裂出来的行记录,而新页就来自于
-
MySQL怎么运行的系列(四)Innodb索引结构和方案
发布时间:2022-05-05 00:02本文承接 Mysql系列(三)InnoDB存储结构之行结构和页结构 一文继续介绍Innodb引擎相关的内容。本节将介绍Innodb的索引结构。数据库可能存在千万级的数据,必须将这些
-
Mysql怎么运行的系列(三)InnoDB存储结构之行结构和页结构
发布时间:2022-05-02 16:09下图所示是一个ibd文件的逻辑结构。 · Tablespace 表空间,用于存储存储一个或多个ibd数据文件(记录和索引),一个ibd文
-
MySQL怎么运行的系列(二)Innodb缓冲池 buffer pool 和 改良版LRU算法
发布时间:2022-03-08 22:22InnoDB存储结构 下图是官方提供的InnoDB总体结构:分为内存结构(下图左侧)和磁盘结构(右侧)两部分。 内存部分由多个缓冲区构成,分为 缓冲池