美文网首页
MySql逻辑框架+一个Sql语句的完整执行

MySql逻辑框架+一个Sql语句的完整执行

作者: salix_ | 来源:发表于2020-03-27 19:36 被阅读0次

    一:MySql的逻辑框架


    连接层:连接与线程处理,这一层并不是MySQL独有,一般的基于C/S架构的都有类似组件,比如连接处理、授权认证、安全等。
    服务层:包括缓存查询、解析器、优化器,这一部分是MySQL核心功能,包括解析、优化SQL语句,查询缓存目录,内置函数(日期、时间、加密等函数)的实现。
    引擎层:负责数据存储,存储引擎的不同,存储方式、数据格式、提取方式等都不相同,这一部分也是很大影响数据存储与提取的性能的;对存储层的抽象。存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎;特别提示:存储引擎针对于数据表。
    • InnoDB:事务优先,表锁,适合高并发
    • MyISAM:性能优先,表锁
      存储层:存储数据,文件系统。

    二:一个Sql语句的完整执行过程

    1. 连接层链接数据库

    在cmd里面登录mysql的语句### [mysql -h localhost -u root -p_,先链接上数据库

    2.查询缓存(Mysql8.0就去掉了这部分)

    执行过的语句可以能讲语句和结果以key-value的形式存储在内存中,执行之前会先查询是不是在缓存中,如果在缓存中就直接返回结果了。数query_cache_type设置成DEMAND,这样对于默认的SQL语句都不使用查询缓存。

    3.分析器

    词法分析,语法分析

    4.优化器

    这块比较重要,这个地方会选择索引,还有做一些其他的优化,比如对join中表的先后。

    5.执行器
    • 首先看你有没有执行的权限
    • 可以执行就直接执行。

    相关文章

      网友评论

          本文标题:MySql逻辑框架+一个Sql语句的完整执行

          本文链接:https://www.haomeiwen.com/subject/ojrruhtx.html