Mysql - 架构及常用组件功能

一、mysql底层架构图

image.png

mysql底层架构分为:
1、client(客户端)
2、server(服务端)

client: 主要有各种plugin、jdbc等
server: 包含了连接器、查询缓存、分析器、优化器、执行器、存储引擎

二、各个组件的功能

2.1 连接器

连接器的主要作用是与客户端建立联系,管理客户端的连接、会话、权限验证等。

2.2 查询缓存

查询缓存的作用是,在sql通过连接器之后到达服务端之后,如果sql是sel开头的语句,那么先在查询缓存中获取命中结果,如果有命中结果则直接返回结果。没有结果那么sql会通往分析器

2.3 分析器

分析器拿到sql后,会对sql进行词法、语法分析,同时创建sql Id,如果sql有错误,那么将会终止sql行为,将异常返回客户端。

2.4 优化器

优化器的作用主要是对通过分析器的sql进行优化,比如进行索引选择重写查询等,同时会创建sql执行计划,可以通过explain指令进行查看。

2.5 执行器

执行器拿到了经过优化器的sql,将会操作存储引擎,通过调用存储引擎提供的读写接口,得到返回结果。

2.6 存储引擎

存储引擎是sql的最终执行者,它对外提供了读写接口,本身主要作用为执行sql、存储数据、获取数据等,存储引擎的设计是插件形式实现的,常见了有InnoDBMyISAM等。

未完待续......

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 我们学习时,经常听老师说学一门课程,我们要把教材的目录翻一下,了解一下概要,不要一头扎到细节里。学技术也一样...
    tuser阅读 2,853评论 0 1
  • 目录 连接器 缓存 分析器 优化器 执行器 连接器 连接器:顾名思义,连接器是用于管理连接的。主要有以下功能:​ ...
    疯狂大蚂蚁阅读 860评论 0 0
  • 上一篇文章讲述了Mysql的基本框架,和sql执行的流程,这篇文章首先分析下每个流程的具体细节,然后介绍日志文件和...
    FlyXhc阅读 746评论 0 0
  • 逻辑架构 如果能在头脑中构建出一幅MySQL各组件之间如何协同工作的架构图,就会有助于深入理解MySQL服务器。下...
    牧码人zhouz阅读 339评论 0 1
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,587评论 28 53