高性能mysql笔记(八)查询执行基础

时间:2021-03-23 19:40:03
  • msql执行查询的步骤:

高性能mysql笔记(八)查询执行基础

  • 客户端/服务端通信协议

    他们之间的通信协议是“半双工”的,这就意味着在任意的时刻,要么是服务端向客户端发数据,要么是客户端向服务端发数据。这两个动作不能同时发生。

  • 查询状态

     show full processlist

    1.sleep

        线程等待客户端发送请求

    2.query

        线程正在执行查询,或者正在发送结果。

    3.locked

        线程正在等待锁

    4.Analyzing and statistics

        线程正在收集引擎信息 生成执行计划

    5.coping to tmp table

        正在执行查询,并且结果复制到一张临时表,要么是在做group by 要么是在做 union

    6.Sorting result

    正在对结果进行排序。

    7.sending data

    有多重情况:可能在多个状态之间传送数据,或者生成结果,或者紫爱香客户端返回数据。