mysql sql语句执行流程

通信类型

同步/异步

连接方式

长连接/短连接

//长连接 非交互式的超时设置
wait_timeout
//长连接 交互式的超时设置
interactive_timeout

可以查询所有连接的状态 show processlist

通信协议

Unix Socket

TCP/IP

Named Pipes

Share Memeory

通信方式

单工/半双工/全双工

mysql是半双工

mysql执行流程(查询)

  • APP
  • 缓存
  • 解析器
  • 语义解析
  • 优化器
  • 查询执行引擎
  • 存储引擎
  • 查询执行引擎
  • APP
    查询缓存的开关是关闭的,有变量

解析器(也包括语法检查):

词法解析

语法解析

最后会得到一个解析树

语义解析:

经过处理的解析树

优化器:

优化器会根据解析树生成执行计划,优化器会选择一条成本最低的。

eg:

多个索引可以用时,具体哪个

**查询优化器可以追踪 **

storge engine(存储引擎)

你可能感兴趣的:(mysql sql语句执行流程)