摘要: MySQL 的二进制日志(binlog)、重做日志(redolog)以及保证它们之间数据一致性的关键机制——两阶段提交(2PC, Two-Phase Commit)。 核心概念 首先,我们必须理解这两个日志的根本区别: 特性 重做日志 (Redo Log) 二进制日志 (Binlog) 所属层 In 阅读全文
posted @ 2025-08-29 11:04 adragon 阅读(10) 评论(0) 推荐(1)
摘要: 一、核心概念 字符集 (Character Set): 定义了一组符号及其编码。换句话说,它规定了如何用二进制数据(字节)来表示字符。 例如:字符 A 在 ASCII 字符集中用数字 65 (即一个字节 0x41) 表示。 utf8 vs utf8mb4 的核心区别就在于此。 排序规则 (Colla 阅读全文
posted @ 2025-08-29 11:03 adragon 阅读(30) 评论(0) 推荐(0)
摘要: 核心在于它们不同的数据模型、访问模式、优化目标以及磁盘与内存交互的特性 核心原因总结: 特性 MySQL InnoDB (B+树) MongoDB (传统认知 / 更适合 B树 优势的场景) 数据模型 关系型,严格的行/列结构 文档型,灵活的 JSON-like 文档 主要访问模式 范围查询、排序、 阅读全文
posted @ 2025-08-29 11:02 adragon 阅读(22) 评论(0) 推荐(0)
摘要: 核心概念:锁的目标与隔离级别 目标: InnoDB 锁的主要目标是保证事务的隔离性(Isolation),特别是在 REPEATABLE READ (默认) 和 SERIALIZABLE 隔离级别下,防止脏读、不可重复读和幻读。 隔离级别的影响: 锁的行为(特别是间隙锁、临键锁)与设置的事务隔离级别 阅读全文
posted @ 2025-08-29 11:01 adragon 阅读(48) 评论(0) 推荐(0)
摘要: 1. 覆盖索引 (Covering Index) 覆盖索引是最优化的索引使用场景之一,它的核心思想是:只需要通过索引就能获取查询所需的所有列,而无需回表查询数据行。 工作原理 普通索引查询:通常,数据库先通过索引树(B+Tree)快速找到目标数据行的主键值,然后再通过主键索引树去查找完整的行数据,这 阅读全文
posted @ 2025-08-29 11:00 adragon 阅读(21) 评论(0) 推荐(1)
摘要: 核心概念: 特性 redo log (重做日志) undo log (回滚日志) binlog (二进制日志) 所属层次 InnoDB 存储引擎层 InnoDB 存储引擎层 MySQL Server 层 主要目的 崩溃恢复,保证持久性 (D) 事务回滚,MVCC,保证原子性 (A) 数据复制,时间点 阅读全文
posted @ 2025-08-29 10:59 adragon 阅读(6) 评论(0) 推荐(0)
摘要: 前提、组合索引最左前缀原则(最左匹配) 定义:MySQL中的组合索引(又称复合索引)遵循“最左前缀原则”。这意味着索引是按照创建时字段的顺序从左到右排列的。查询时,必须从索引的最左列开始,且不能跳过中间的列,才能充分利用索引进行检索。 假设我们有一个表 user,并创建一个组合索引 idx_name 阅读全文
posted @ 2025-08-29 10:58 adragon 阅读(35) 评论(0) 推荐(0)
摘要: int8 的含义: MySQL 没有直接叫做 int8 的数据类型。 它通常是对 BIGINT 数据类型的非正式称呼或别名。 BIGINT 是一个整数类型,用于存储非常大的整数(正负都可以)。 关键点: 这里的 8 指的是 8 个字节的存储空间。这是 BIGINT 的固定存储大小。 BIGINT 的 阅读全文
posted @ 2025-08-29 10:57 adragon 阅读(14) 评论(0) 推荐(0)
摘要: 疑问点:mysql 中, B+数的非叶子节点存储的是索引列的值 且是排好序的,所有索引最好是递增的顺序,避免了数的分裂和合并,如果索引一定不是有序的,而是无规则的字符串,非叶子节点是怎么保存排好序, “无规则的字符串”在B+树非叶子节点中是如何被处理并排序的。 基于字符编码的二进制比较 MySQL会 阅读全文
posted @ 2025-08-29 10:56 adragon 阅读(11) 评论(0) 推荐(0)
摘要: MySQL 的 InnoDB 存储引擎使用 B+ 树作为索引结构。B+ 树的层级变化(如从 2 层到 3 层,或从 3 层到 4 层)是一个自动且动态的过程,完全由数据插入量和索引节点(页)的分裂驱动。层级增加的本质是根节点分裂并产生新的根节点。 理解层级增长的关键点: 节点容量固定: InnoDB 阅读全文
posted @ 2025-08-29 10:53 adragon 阅读(21) 评论(0) 推荐(0)