基础

经验
时间类型
MySQL数据类型
MySQL 存储引擎选择
Mysql表设计
DDL、DML、DCL、MDL、WAL
Mysql insert语句类型
innodb_large_prefix
Mysql事务隔离级别
undo log 和 redo log
MySQL锁
MVCC
innodb 底层技术
InnoDB Buffer Pool 浅析
Mysql各种日志和缓冲区
Mysql配置文件
MySQL技术知识点

图解Mysql

基础架构

notion image

BufferPool

notion image
 
 

执行流程

  • 客户端发送一条查询给服务器。
  • 服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段。
  • 服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。
  • MySQL根据优化器生成的执行计划,再调用存储引擎的API来执行查询。
  • 将结果返回给客户端。
notion image

explain

字段
含义
id
select查询的序列号,是一组数字,表示的是查询中执行select子句或者是操作表的顺序。
select_type
表示 SELECT 的类型,常见的取值有 SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION 中的第二个或者后面的查询语句)、SUBQUERY(子查询中的第一个 SELECT)等
table
输出结果集的表
partitions
匹配的分区
type
表示表的连接类型,性能由好到差的连接类型为( system ---> const -----> eq_ref ------> ref -------> ref_or_null----> index_merge ---> index_subquery -----> range -----> index ------> all )
possible_keys
表示查询时,可能使用的索引
key
表示实际使用的索引
key_len
索引字段的长度
rows
扫描行的数量
filtered
按表条件过滤的行百分比
extra
执行情况的说明和描述
 
Loading...
文章列表
王小扬博客
云原生
Git
Elasticsearch
Apollo
产品
Think
生活技巧
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP
AI