• mysql 基础架构


    mysql分为Server层和存储引擎层

    Server层

    涵盖了大多数mysql的核心服务功能,以及所有内置的函数(例如日期、加密、数学等函数),所有跨存储引擎的操作都在Server层实现:存储过程、触发器、视图等

    • 连接器
      • 连接器主要负责建立连接、进行权限验证、维持和管理连接,
      • 连接完成后,如果没有后续操作,这个链接就处于空闲状态(sleep)
    • 查询缓存
      • Mysql拿到一个查询请求后,会去看之前执行过的以key-value对形式缓存在内存中的执行结果,key就是执行语句,value就是执行结果
      • 如果存在缓存,就直接返回,不存在会继续执行后面的操作
      • 不建议使用
        • 只要对表进行更新,那么这个表的所有缓存结果都会被清空
        • mysql 8.0之后就不再支持查询缓存
    • 分析器
      • 词法分析,识别sql语句要进行的操作、用到的表和字符串
      • 语法分析,判断sql语句是否满足mysql的语法规则
    • 优化器
      • 决定使用什么样的索引,如果是连表查询的话要判断连接表的顺序
    • 执行器
      • 判断对要操作的表有没有操作权限(读和写)
      • 通过存储引擎的接口,取出所需要的结果数据

    存储引擎层

    负责数据的存储和提取,架构模式是插件式的。支持InnoDb、MyIsam等,从mysql5.5.5版本后,InnoDB开始成为了Mysql默认的存储引擎

  • 相关阅读:
    电脑右边小键盘默认解锁
    linux关机、重启命令
    linux下Qt设置全屏后再设置指定大小失效
    关闭QEventLoop阻塞失效
    Qt将中文转换成unicode字符串
    vue 中使用vuex和localStorage保存登录状态
    git使用
    jdk11下载与安装
    Navicat安装
    类不平衡问题的评价指标的计算
  • 原文地址:https://www.cnblogs.com/William364248886/p/14984200.html
Copyright © 2020-2023  润新知