本文主要是从mysql数据库的逻辑架构来了解掌握mysql的原理。 只要你有一点点计算机相关知识,相信你都能看懂。

1. 总体逻辑结构

首先给出一个逻辑结构图,这个图是为了让你从宏观的角度去分析和理解。

数据库mysql知识点整理_mysql数据库基础知识_mysql数据库基础教程

从这张图片中你可以得到以下信息:

(1)mysql的架构大致可以分为四层。

(2)第一层主要是不同客户端的连接。

(3)第二层主要处理客户端连接。

(4)第三层处理客户端的sql语句

(5)第四层,存储引擎真正执行sql语句。

现在你已经了解了mysql的整体结构,也大致了解了每一层是做什么用的,现在我们将逐渐细化眼睛,毕竟上图还是太笼统了。

2.详细逻辑架构图

看下面的图片。

mysql数据库基础知识_mysql数据库基础教程_数据库mysql知识点整理

​与上一张图相比,这张图进行了部分细化,仍然从上到下分为四层。

第一层:这里可以看到有很多连接的客户端,包括PHP、jdbc等。

第二层:这一层是链路层,对应第一张图中的连接处理层,主要处理客户端的连接,因为客户端的类型很多。

第三层:这一层是服务层。 主要处理客户端请求的sql语句,如何处理呢? 一般流程是先查询缓存,如果缓存中有,则取出来,直接返回。 如果没有,解析器解析,然后优化器优化。 各个存储引擎提供的功能都集中在这一层,如存储过程、触发器、视图等。

第四层:这一层是引擎层,在这里我们可以看到有几种不同的存储引擎,比如,,等等。 它真正负责MySQL中数据的存储和提取。

如果我们使用jdbc来执行一条插入的sql语句,那么整个流程是如何执行的呢?

首先jdbc属于第一层,通过第二层的连接处理来连接mysql服务器。 接下来,sql语句被解析器解析,然后sql语句被优化器优化,最后调用第四层的存储引擎的接口执行语句,将数据插入到文件或其他文件系统中。

是不是很简单。 通常在学习mysql的时候,老师都会介绍存储引擎。 当时你可能还没有注意到他的重要性,但现在我相信你应该意识到了。 也就是说,服务层的那些功能都是由存储引擎提供的。 不同的存储引擎可能提供不同的存储引擎。 如何比较这些存储引擎? 我们列出一些指标来进行比较:

mysql数据库基础知识_数据库mysql知识点整理_mysql数据库基础教程

对于mysql数据库来说,默认是不支持哈希索引和全文索引的。 所以如果有一天你不喜欢它,你可以更换它。 该语句为 SET ne=<存储引擎名称>。

好了,今天的主题就讲到这里吧,不管如何,能帮到你我就很开心了,如果您觉得这篇文章写得不错,欢迎点赞和分享给身边的朋友。

发表回复

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