• 一条sql的执行流程


    假如在MySQL中有一个查询会话请求,那么大概流程如下:

    (1)MySQL客户端对MySQLServer的监听端口发起请求。

    (2)在连接者组件层创建连接、分配线程,并验证用户名、密码和库表权限。

    (3)如果打开了query_cache,则检查之,有数据直接返回,没有继续往下执行。

    (4)SQL接口组件接收SQL语句,将SQL语句分解成数据结构,并将这个结构传递到后续步骤中(将SQL语句解析成MySQL认识的语法)。

    (5)查询优化器组件生成查询路径树,并选举一条最优的查询路径。

    (6)调用存储引擎接口,打开表,执行查询,检查存储引擎缓存中是否有对应的缓存记录,如果没有就继续往下执行。

    (7)到磁盘物理文件中寻找数据。

    (8)当查询到所需要的数据之后,先写入存储引擎缓存中,如果打开了query_cache,也会同时写进去。

    (9)返回数据给客户端。

    (10)关闭表。

    (11)关闭线程。

    (12)关闭连接。


  • 相关阅读:
    APP Https双向认证抓包
    剖析XSS
    php连接mysql
    linux去掉某一字符开头的行
    memcached+php客户端
    memcached-repcached
    memcached+memadmin
    Linux GPT分区
    Linux查看文件夹大小
    linux挂载windwos共享文件
  • 原文地址:https://www.cnblogs.com/wlphp/p/13382006.html
Copyright © 2020-2023  润新知