MYSQL架构和执行流程(一)
查询语句的执行流程
mysql 单进程 多线程
通信协议 TCP/IP , UNIX SOCKET
消息格式
xml格式 8583
通信类型 :
同步 异步
连接方式:
长连接–>保持打开 短连接 -->执行完之后就关闭
查询sql流程:
查询缓存 cache -->parser 解析器(词法解析和语法解析) --> pre processor 预处理(语义分析 权限) --> optimizer 优化器(优化sql,分析执行路径,选择一种最优的去执行)–>Execution plan 执行计划(优化器得到执行计划 不一定是最优的)–>Exceution Engine 执行器{到此步为sever层}–>Stroage Engine存储引擎{此为存储引擎层}
updata 流程: 客户端 --> server层 --> 存储引擎 --> 磁盘文件
事务
redo log 重做日志 作用 崩溃恢复
undo log 回滚日志 作用 实现回滚
server层
binlog 逻辑日志
作用
1.主从复制 追加不是覆盖
2.数据恢复 :全量备份+binlog
Server层 功能: 计算 过滤 排序
存储引擎层 功能 :索引
表类型(存储引擎) 决定底层的存储方式