千家信息网

详解MySQL执行原理、逻辑分层、更改数据库处理引擎

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,用了那么长时间的MySQL,sql语句相信早已烂熟于心,于是,我就试着去了解它的执行原理,以下是我学习过程中的总结要点。只要是B/S架构,都是会有客户端与服务端,mysql也不例外。首先客户端发出一个
千家信息网最后更新 2026年11月01日详解MySQL执行原理、逻辑分层、更改数据库处理引擎

用了那么长时间的MySQL,sql语句相信早已烂熟于心,于是,我就试着去了解它的执行原理,以下是我学习过程中的总结要点。

只要是B/S架构,都是会有客户端与服务端,mysql也不例外。

首先客户端发出一个请求,这个请求就是一个查询请求(Select),而它请求的对象就是服务端,服务端是怎么处理这项查询功能的呢?

逻辑分层

首先可以把服务端想象成一个大的容器,里面有四层结构,当一个请求过来后,将会执行这四层,执行一遍后才会返回给我们想要的结果。

第一层 :连接层

也就是说,我们客户端发送一个Select是直接交给连接层来处理,而它的作用就是提供与客户端连接的服务

连接层只是与客户端建立起连接,并且拿到我们的请求(Select),但是它本身不做处理,因为它只做连接,那谁来处理呢?接着往下走。

第二层:服务层

服务层可以干两件事情:

1.提供给用户各种可以使用的接口

比如说刚才的查询就是,我们常见的CRUD(增删改查)操作都在这里,连接层拿到这个Select直接了给了服务层,这里除了给用户提供接口以外,还提供了一个声称为Sql优化器的东西

2.Sql优化器(MySQL QUery Optimier)

当我们编写Sql语句执行时,执行到这里后(第二层),优化器会觉得我写的sql语句性能不够好,这个时候,优化器会自己写一个等价于跟我写的执行后结果一致的sql语句进行代替,这个等价写法就是通过这个优化器把你写的sql给优化了,因为它觉得你写的性能太低了,所以它就把你写的sql给优化了一下,这个优化操作就是优化器干的事情;

很明显,优化器可以将sql语句进行优化,它是可以对性能产生一定的好处,但是有弊端!举个例子:

"当你自己优化时是a,但是实际执行并不是a,因为优化器会觉得你优化的还是不够好,结果把a变成b了,也就说,我明明写的是a,但程序执行的是b"

这会对我们开发过程造成混乱,因为它已经被优化了。你写的跟之前的已经不是一致的了

第三层:引擎层

它提供了各种存储数据的方式,常见的有:lnnoDB、MylSAM

重点区别:

lnnoDB 【Mysql默认】:它在设计的时候,它是事物优先 【适合高并发操作】原理:因为它是行锁,我每一条数据都要锁,锁的太多,性能就降低了,虽然性能降低了,但是我适合高并发了,就不容易出错了

MylSAM:性能优先 原理:因为它是表锁,对于表里面的十条数据来说是不受影响的,对十条锁一次就完了,所以性能快

性能优先就很好理解了,比如说一万条数据,它处理的快一点,效率会高一点

事物就是防止一些并发操作,并发太大可能出错,所以适合高并发操作

所以在做项目的时候,建立数据库时,如果性能优先,就选择MylSAM引擎,如果是高并发操作,就选择lnnoDB 引擎;如何更换引擎我下面会讲

第四层:存储层

这就很好理解了,最终的数据在存储层里面存储

说完四层后,我们来厘清思路

首先客户端发出一个Select操作--->连接层接收后给服务层--->服务层对你的查询进行一个优化,并把优化结果给引擎层--->选择当前数据库的引擎,选完引擎后,引擎将最终的数据交给了存储层--->存储层,用存储层来存数据

查看引擎

show engines;查看Mysql所支持的所有引擎

执行结果:

yes就是支持,在InnoDB支持选项是DEFAULT(默认)也就说明,当我们创建数据库的时候默认引擎就是InnoDB

查看当前数据库使用的引擎

show variables like '%storage_engine%';

执行结果:

很显然,我们目前用的就是InnoDB

指定数据库对象的引擎

我现在创建一张表,这个张表我不用InnoDB,用MylSAM,因为我想让它性能优先,下面我就使用mysql命令行进行创建表

1.指定数据库指令:use 数据库名

2.在指定的数据库中创建一张简单的表

create table tb(id int (4),name varchar(5),primary key(id))ENGINE=MyISAM;

执行结果:

表明创建成功,并且该表的引擎是指定的我们手动指定的引擎,而不是默认的。

以上就是全部相关MySQL执行原理、逻辑分层、更改数据库处理引擎的知识点内容,感谢大家的阅读和对的支持。

引擎 数据 就是 性能 服务 数据库 结果 存储 处理 客户 客户端 语句 原理 时候 支持 查询 选择 逻辑 一致 不够 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 中关村互联网科技集团 科技互联网技术 上海互联网科技有限公司 金融科技与互联网金融 丰台科技园 互联网公司 四个字互联网科技公司取名 上海电发互联网科技有限公司 互联网和黑科技的看法 互联网5g黑科技有哪些 呼和浩特新华互联网科技学院 乌苏新华互联网科技做什么的 科技互联网海报 昆明中奇联合互联网科技 互联网科技企业商标注意事项 艺电能源互联网科技有限公司招聘 米泉互联网科技专业怎么样 陕西彩京云互联网科技有限公司 中国主要互联网科技公司 山东亿川互联网科技有限责任公司 互联网科技垄断 高科技与互联网 互联网科技集团 长亮科技 互联网金融 中国的互联网科技企业的崛起 互联网对科技的发展 互联网5g黑科技有哪些 兰石爱特工业互联网科技分公司 青岛易易互联网科技 东风日产互联网科技公司叫什么
0