详解MySQL的三层架构(连接层、服务层、引擎层)

首先来看一张很经典的图
在这里插入图片描述

连接层


Connectors:即为连接层,我们在访问MySQL服务前,第一件事就是建立TCP链接,经过三次握手建立连接成功后,MYSQL对TCP传输过来的账号密码做身份认证、权限获取。TCP链接收到请求后,必须要分配给一个线程专门与客户端进行交互,所以还有个线程池,每一个链接从线程池中获取线程,省去了创建和销毁线程的开销。

服务层

SQL Interface(SQL接口,用来接受用户的SQL命令,并返回需要的结果。

Parser(解析器)
用户传过来的SQL语句会在解析器中被解析,分为语法解析,和语义解析,并创建语法树,并根据数据字典丰富查询语法树,在解析器里还会去验证客户端是否具有执行该语句的权限。创建好语法树后,MYSQL还会对SQL查询进行语法上的优化,进行查询重写。

Optimizer(查询优化器)
SQL语句在语法解析之后,查询之前会使用查询优化器确定SQL语句的执行路径,生成一个执行计划,这个执行计划表明使用哪些索引进行查询。

Caches & Buffers(查询缓存组件)
MySQL内部维持着一些Cache和Buffer,比如Query Cache用来缓存一条SELECT语句的执行结
果,如果能够在其中找到对应的查询结果,那么就不必再进行查询解析、优化和执行的整个过
程了,直接将结果反馈给客户端。
这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等 。
这个查询缓存可以在 不同客户端之间共享 。
从MySQL 5.7.20开始,不推荐使用查询缓存,并在 MySQL 8.0中删除 。

引擎层

真正负责MYSQL中数据的存储和提取,对磁盘数据执行操作。

简述:
连接层:用户与MYSQL服务进行TCP链接,校验用户身份,用户权限。
服务层:用户写的SQL语句会到服务层进行解析,生成语法树。优化SQL语句,生成执行计划。
引擎层:真正与磁盘进行交互,对数据进行存储和读取。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于jsp+servlet+mysql三层架构实现的网上书店系统源码+项目说明.zip # BookStoreSystem 基于 jsp + servlet + mysql 三层架构实现的网上书店系统 ## 一、前言 该系统是简单的模仿 当当网 书店系统,==分为前端和后台两个部分==,目前并没有实现前后端的分离,本系统采用==三层架构==的设计思想完成前后端的交互,进而实现相对应的功能。采用的主要技术栈是: jsp + servlet + Mysql,其中包括 jsp 的三大组件,c3p0 连接池,等技术,运用的开发环境时 Idea9 + Mysql8.0。 ## 二、相关技术: [1、三层架构设计思想](https://blog.csdn.net/qq_43619271/article/details/106538194) [2、ApacheDBUtils 详解用法](https://blog.csdn.net/qq_43619271/article/details/106491522) [3、c3p0连接池](https://blog.csdn.net/qq_43619271/article/details/106488884) ## 三、功能分析: ### 1、前台: a、用户模块: • 注册 • 登录 • 退出 b、分类模块: > • 查看所有分类 c、图书模块: > • 查询所有图书 > • 按分类查询图书 > • 查询图书详细(按id查) d、购物车模块: > • 添加购物车条目; > • 清空所有条目; > • 删除指定条目; > • 我的购物车(按用户查询购物车) e、订单模块: > • 生成订单; > • 我的订单(按用户查询订单) > • 按id查询订单 > • 确认收货 > • 付款功能(只是跳转到银行页面) > • 付款回调功能(由银行来调用我们这个方法,表示用户已经付款成功) ### 2、后台: a、管理员: > • 登录 b、分类管理: > • 添加分类 > • 查看所有分类 > • 删除分类 > • 按id查询 > • 修改分类 c、图书管理(我的) > • 查看所有图书 > • 按id查询 > • 删除图书 > • 修改图书 > • 添加图书(上传图片) ## 四、效果展示: ### 1、登录与注册: ==登录:== ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200607102850818.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjE5Mjcx,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200607102906975.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjE5Mjcx,size_16,color_FFFFFF,t_70#pic_center) ==注册== ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200607102924582.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNjE5Mjcx,size_16,color_FFFFFF,t_70#pic_center) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200607102939359.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQz

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值