MySQL的基础架构

在这里插入图片描述

Server层
  • Connectors:MySQL客户端。支持JDBC接口等规范。同时支持多种连接方式:
  1. TCP传输层协议,并支持TLS/SSL证书加密
  2. socket套接字
  3. windows的共享内存
  4. windows的命名管道
  • Connection Pool:连接池,为每个连接分配一个线程,检查SQL涉及的库与表权限,分配资源
  • Enterprise Management Services & Utilities:提供的服务与工具。提供备份恢复、认证、同步复制与集群,支持表的分区。使用实例管理器管理数据库实例,也支持通过information_schema库来看每个数据库的元数据信息等
  • SQL Interface:支持很多SQL接口。如DML数据操作(增删改查),DDL(数据定义如alter)。存储过程,视图和触发器等
  • Parser:解析器,在具体执行SQL时会先进行解析,形成一种内部结构树,用于支持接下来的优化器
  • Optimizer:优化器,列举:
  1. 无效条件(trivial_condition_removal):无用的条件,用于为true或false。如1=1或者1<>1
  2. 等值传递(equality_propagation):如a=b and b=1优化成b=1 and multiple equal(a, b)
  3. 常量传递(constant_propagation):如a=b and b<5优化成a<5 and b<5
  4. 根据成本来决定SQL的执行计划,比如选择哪个索引成本低,哪个字段优先匹配,多表连接则通过计算来选择驱动表与被驱动表等。成本具体设置可在mysql库下的server_costengine_cost查看
  • Caches & Buffer:包含Server层的SQL缓存,和特定存储引擎的缓冲区如InnoDB的Change Buffer
存储引擎层
  • Pluggable Storage Engine:存储引擎(插件式)层
  • File System:支持的文件系统,NTFS、NFS等
  • Files & Logs:执行过程产生的日志和文件,如Redo Log重做日志,事务日志Undo Log,慢SQLSlow文件,数据文件和索引文件,错误日志等
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值