基础架构(1)[通俗易懂]

基础架构(1)[通俗易懂]`MySQL`分为两部分: 层 包含连接器、查询缓存、分析器、优化器、执行器等,涵盖 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比

基础架构(1)

MySQL分为两部分:

  • Server
    包含连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
  • 存储引擎层
    负责数据的存储和提取。其架构模式是插件式的,支持InnoDBMyISAMMemory等多个存储引擎,MySQL 5.5.5版本开始InnoDB为默认的存储引擎。

Server

  • 连接器
    负责跟客户端建立连接、获取权限、维持和管理连接

    mysql -h$ip -P$port -u$user -p //连接数据库
    

    代码100分

    输入密码后,如果用户名或密码不对,则会提示Access denied for user,如果认证通过,连接器会到权限表里面查出你拥有的权限。之后,这个连接里面的权限判断逻辑,都将依赖此时读到的权限。

    代码100分show processlist //显示所有连接
    
  • 查询缓存
    命中则直接返回结果。MySQL拿到查询请求后,会先到查询缓存看看,之前是否执行过这条语句,之前执行过的语句及其结果可能会以key-value对的形式,被直接缓存在内存中,keysql语句,有则返回。没有就会进行分析器以后的流程,执行完成后结果会被存入查询缓存。当表中有执行更新操作时,则该表对应的所有查询缓存失效。MySQL 8.0版本直接将查询缓存的整块功能删掉了。

  • 分析器
    词法分析,语法分析。如果没有命中查询缓存,就要开始执行语句,MySQL需要知道你要做什么,需要对SQL语句进行分析。
    词法分析:SQL语句中各个字符串分别代表什么
    语法分析:判断SQL语句是否满足MySQL语法。

  • 优化器
    执行计划生成,索引选择。在表里有多个索引时决定用哪个索引;在一个语句有多表关联时,决定各个表的连接顺序等。优化器得出几个方案后,会选择最好的方案。

  • 执行器
    操作存储引擎,返回结果

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9285.html

(0)
上一篇 2023-02-11 18:00
下一篇 2023-02-11

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注