【黄啊码】MySQL入门—1、SQL 的执行流程

大家好!我是黄啊码,鉴于大家对于学习的热情,从今天起,将连载mysql的相关知识,需要学习的可以注意我的更新学习,后期估计会开启付费专栏,但当前完全可以白嫖,希望大家珍惜!

首先我们来看一张图:

【黄啊码】MySQL入门—1、SQL 的执行流程

我们所看到的的MySQL是由三个层组成的,分别如下:

连接层:负责客户端和服务器端建立连接,客户端发送 SQL 至服务器端,简单来说就是交互
SQL 层:对 SQL 语句进行查询处理;
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:110ff18a-78bb-4b80-bfc2-e5ece3134d4e

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:6fdb53b7-826c-4627-a31a-b4a9fd0831f6

我们再来看另外一张图,以下是SQL语句的执行流程:

【黄啊码】MySQL入门—1、SQL 的执行流程

简而言之就是一句话:SQL 语句→缓存查询→解析器→优化器→执行器。

缓存查询:该功能是mysql8.0之前的操作,缓存从字面意思就是从缓存能拿到就读取缓存,拿不到再进行查询,但现在已经有redis这类的缓存数据库了,而且数据库又是频繁写入的库,对于我们来说有点鸡肋,所以从mysql8.0之后,官方已经直接抛弃了。

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:cbd6d18c-014b-42d3-8857-cf532cd23f1d

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:8ee88844-3a7a-4957-a0c9-ccab24004002

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:e4de820e-e3dc-4ce6-a3f7-5955ee72eea8

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:e43c7e04-1ca1-4eb8-a556-f88ad31b5dc5

执行器:字面意思就是执行我们所写的sql语句,当然前提是你当前用户具备了执行的权限。

而在存储引擎方面,MySQL则有自己独到的存储引擎,常见的、常用的有InnoDB和MyISAM,下面我具体列举一下:

InnoDB 存储引擎:它是 MySQL 5.5 版本之后默认的存储引擎,最大的特点是支持事务、行级锁定、外键约束等。
MyISAM 存储引擎:在 MySQL 5.5 版本之前是默认的存储引擎,不支持事务,也不支持外键,最大的特点是速度快,占用资源少。
Memory 存储引擎:使用系统内存作为存储介质,以便得到更快的响应速度。不过如果 mysqld 进程崩溃,则会导致所有的数据丢失,因此我们只有当数据是临时的情况下才使用 Memory 存储引擎。
NDB 存储引擎:也叫做 NDB Cluster 存储引擎,主要用于 MySQL Cluster 分布式集群环境,类似于 Oracle 的 RAC 集群
Archive 存储引擎:它有很好的压缩机制,用于文件归档,在请求写入时会进行压缩,所以也经常用来做仓库。
MySQL更独到的是做到了按表来分配存储引擎,而不是按库,这是相对人性化的一点。

对于小企业来说,1、2种是最常见不过的了吧,但如果想进大厂,后边这三种也必须了解和学会,不然你依旧是个小小白。

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:a56e4424-4700-4156-997f-230f25d03e77

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:1cad94cb-c881-4aa6-b546-d4523d691bb9

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:4e0273e8-1a07-4ff3-b072-6eac2dbab4fd

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:a0b9ce7c-1ba6-4deb-9959-8b58fb54848e

Original: https://www.cnblogs.com/huangama/p/16506675.html
Author: 黄啊码
Title: 【黄啊码】MySQL入门—1、SQL 的执行流程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/562257/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球