• mysql的体系结构及sql的执行路径


    一:体系结构

     mysql服务和客户端的通信是半双工的

    (1) Connectors:不同语言中与SQL的交互
    (2)Management Serveices & Utilities: 系统管理和控制工具,例如备份恢复、Mysql复制、集群等
    (3)Connection Pool: 连接池(管理缓冲用户连接、用户名、密码、权限校验、线程处理等需要缓存的需求)
    (4)SQL Interface: SQL接口:接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interface
    (5)Parser: 解析器,SQL命令传递到解析器的时候会被解析器验证和解析。
    (6)Optimizer: 查询优化器,SQL语句在查询之前会使用查询优化器对查询进行优化。
    (7) Cache和Buffer(高速缓存区): 查询缓存,如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。 通过LRU算法将数据的冷端溢出,未来得及时刷新到磁盘的数据页,叫脏页。
    (8)Engine :存储引擎。存储引擎是MySql中具体的与文件打交道的子系统。Mysql的存储引擎是插拔式的。它根据MySql公司提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎) 。

    2.sql的执行顺序

     1、客户端发送一条查询给服务器
    2、服务器先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。
    3、服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划。
    4、MySQL根据优化器生成的执行计划,调用存储引擎的API执行查询。
    5、返回结果给客户端

  • 相关阅读:
    office(Word、Excel、PPT等图标异常和桌面无新建解决方案)
    CentOS7安装搭建.Net Core 2.0环境-详细步骤
    Win7系统system进程句柄数一直增加解决方案
    安装.Net Framework 4.6.2时出现“无法建立到信任根颁发机构的证书链”解决方法
    css关于定位那些事情
    1份2015计划书
    js关于弹也遮罩层
    每日一句(2014-10-23)
    每日一句(2014-10-17)
    每日一句(2014-10-16)
  • 原文地址:https://www.cnblogs.com/tongcc/p/13024728.html
Copyright © 2020-2023  润新知