Mysql性能优化(二) mysql的逻辑架构 - Go语言中文社区

Mysql性能优化(二) mysql的逻辑架构


mysql的逻辑架构

MySQL体系结构描述了MySQL系统的不同组件如何相互关联。MySQL架构基本上是一个客户端 - 服务器系统。MySQL数据库服务器是服务器,连接到MySQL数据库服务器的应用程序是客户端。MySQL体系结构包含以下主要组件。

应用层:

该层是MySQL架构中最顶层的层; 你可以在许多客户端 - 服务器架构中看到同一层。该层包括大多数客户端 - 服务器应用程序通用的一些服务,下面给出了一些服务:

  • 连接处理:当客户端连接到服务器时,客户端为其连接获取自己的线程。来自该客户端的所有查询在该指定线程内执行。该线程由服务器缓存,因此不需要为每个新连接创建和销毁它们。
  • 授权认证:当客户端服务器连接到mysql服务器的时候需要进行授权认证,授权认证基于用户名,客户端主机和客户端用户密码。
  • 安全:客户端成功连接到MySQL服务器后,服务器将检查该特定客户端是否具有针对MySQL服务器发出某些查询的权限。

服务器层:

该层是MySQL Server的核心层,提供了MySQL Server数据库系统的所有逻辑功能,该层可以分为如下不同的组件:

  • 系统管理
  • SQL 接口
  • SQL 解析器
  • 查询优化器
  • 缓存

SQL解析器的作用:

解析器的作用主要是解析查询语句,最终生成语法树。首先解析器会对查询语句进行语法分析,如果语句语法有错误,则返回相应的错误信息。语法检查通过后,解析器会查询缓存,如果缓存中有对应的语句,就直接返回结果不进行接下来的优化执行操作。

查询优化器的作用:

优化器的作用主要是对查询语句进行优化,包括选择合适的索引,数据的读取方式。

缓存的作用:

包括全局和引擎特定的缓存,提高查询的效率。如果查询缓存中有命中的查询结果,则查询语句就可以从缓存中取数据,无须再通过解析和执行。这个缓存机制是由一系列小缓存组成,如表缓存、记录缓存、key缓存、权限缓存等。

存储引擎:

不同的存储引擎有不同的特性,适用于不同的场景,详细请查询我的另一篇转发的文章mysql存储引擎

 

 

 

 

 

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_41446768/article/details/98634626
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-04-18 21:21:05
  • 阅读 ( 1092 )
  • 分类:架构

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢