首页
MySQL
生活
友链
关于
  • Undo 日志用什么存储结构支持无锁并发写入?

    2022-07-05 · 预计阅读 8 分钟 · MySQL 源码 8.0.29 InnoDB

    redo 日志只有崩溃恢复的时候才能派上用场,undo 日志不一样,它承担着多重职责,MySQL 崩溃恢复、以及正常提供服务期间,都有它的身影。


    阅读更多
  • Redo 日志从产生到写入日志文件

    2022-06-12 · 预计阅读 6 分钟 · MySQL 源码 8.0.29 InnoDB

    对于这样的剧情,想必大家不会陌生:美国大片中拯救世界的英雄,平时看起来跟普通人没啥区别,甚至还可能会有点让人看不上。

    但是,关键时刻,却能爆发出惊人能量,挽狂澜于既倒,扶大厦于将倾,拯救世界于危难之中。

    今天我们要聊的主角:Redo 日志,也是这样的平民英雄。


    阅读更多
  • InnoDB B-TREE 索引怎么计算 WHERE 条件范围内有多少条记录?

    2022-05-29 · 预计阅读 2 分钟 · MySQL 源码 查询优化 8.0.29

    MySQL 为一个表选择读取数据的方式,取决于这种方式的执行成本。


    阅读更多
  • InnoDB B-TREE 索引怎么定位一条记录?

    2022-05-24 · 预计阅读 6 分钟 · MySQL 源码 8.0.29 查询优化

    对于 SQL 语句的执行来说,定位 B-TREE 索引中的一条记录,是个举足轻重的能力。


    阅读更多
  • insert ... on duplicate key update 和 replace into

    2022-05-16 · 预计阅读 3 分钟 · MySQL 源码 5.7.35

    前段时间和滴滴的一位同学聊到 insert ... on duplicate key update 插入一条记录成功后,影响行数为 2 意味着什么?


    阅读更多
  • count(distinct) 玩出了新花样

    2022-05-10 · 预计阅读 3 分钟 · 源码 5.7.35

    介绍使用索引、临时表 + 文件排序实现 group by,以及单独介绍临时表的三篇文章中,多次以 count(distinct) 作为示例说明。


    阅读更多
  • 临时表和文件排序实现 group by

    2022-05-10 · 预计阅读 3 分钟 · MySQL 源码 5.7.35

    本文是 group by 实现过程分析的第 2 篇文章,第 1 篇是 MySQL 怎么用索引实现 group by? <- 点击阅读


    阅读更多
  • 你好奇过 MySQL 内部临时表存了什么吗?

    2022-04-15 · 预计阅读 3 分钟 · MySQL 源码 5.7.35

    MySQL 临时表分为两种:外部临时表、内部临时表。用户通过 CREATE TEMPORARY TABLE 创建的是外部临时表。SQL 语句执行过程中 MySQL 自行创建的是内部临时表,explain 输出结果的 Extra 列出现了 Using temporary 就说明 SQL 语句执行时使用了内部临时表。


    阅读更多
  • MySQL 怎么使用索引实现 group by?

    2022-04-06 · 预计阅读 3 分钟 · 源码 MySQL 5.7.35

    我们用 explain 分析包含 group by 的 select 语句时,从输出结果的 Extra 列经常可以看到 Using temporary; Using filesort。看到这个,我们就知道 MySQL 使用了临时表来实现 group by。


    阅读更多
  • 带你一步一步深入了解 MySQL 文件排序

    2022-03-25 · 预计阅读 6 分钟 · MySQL 5.7.35 源码

    我们日常工作中写 SQL 语句,经常会使用 order by 对记录进行排序。如果 order by 能够使用索引中记录已经排好序的特性,就不需要再借助内存或磁盘空间进行排序,这无疑是效率最高的。然而,还是有各种情况导致 order by 不能够使用索引,而是要进行额外的排序操作。MySQL 把需要借助内存或磁盘空间进行的排序操作统称为文件排序,而没有在概念上进一步分为文件排序和内存排序。


    阅读更多
    • ««
    • «
    • 1
    • 2
    • 3
    • 4
    • »
    • »»

Csch


MySQL 源码研究公众号:一树一溪

最新文章

  • MySQL 客户端 Ctrl + C,服务端会发生什么?
  • MySQL 调试环境搭建:VSCode + Docker
  • 修改 lower_case_table_names 导致 frm 文件删除失败
  • MySQL 相关子查询
  • MySQL 全表扫描成本计算
  • MySQL 不相关子查询怎么执行?
  • where field in(...) 是怎么执行的?
  • MySQL 连接怎么保活?

分类

MYSQL 46 生活 4

标签

源码 33 MYSQL 31 5.7.35 22 8.0.29 12 INNODB 5 JOIN 5 随笔 4 8.0.32 2 子查询 2 工具 2 查询优化 2 FRM 1 UNDO日志 1 索引 1
所有标签
5.7.3522 8.0.2912 8.0.322 FRM1 INNODB5 JOIN5 MYSQL31 UNDO日志1 子查询2 工具2 查询优化2 源码33 索引1 表结构1 随笔4
[A~Z][0~9]

Copyright  . All Rights Reserved