MySQL架构图

news/2024/5/20 23:22:49/文章来源:https://blog.csdn.net/shadow_mark/article/details/128956530

 MySQL架构图

 

Mysql逻辑架构图主要分三层:

1) 第一层负责连接处理,授权认证,安全等等

每个客户端连接都会在服务器进程中拥有一个线程,服务器维护了一个线程池,因此不需要为每一个新建的连接创建或者销毁线程。
当客户端连接到Mysql服务器时,服务器对其进行认证,通过用户名和密码认证,也可以通过SSL证书进行认证。
一旦客户端连接成功,服务器会继续验证客户端是否具有执行某个特定查询的权限。
2)第二层负责编译并优化SQL

这一层包括查询解析,分析,优化,缓存以及所有的的内置函数。
对于SELECT语句,在解析查询前,服务器会先检查查询缓存,如果能在其中找到对应的查询结果,则无需再进行查询解析、优化等过程,直接返回查询结果。
所有跨存储引擎的功能都在这一层实现:存储过程,触发器,视图。
3)第三层是存储引擎。

存储引擎负责在MySQL中存储数据、提取数据。
存储引擎通过API与上层进行通信,这些API屏蔽了不同存储引擎之间的差异,使得这些差异对上层查询过程透明。
存储引擎不会去解析SQL,不同存储引擎之间也不会相互通信,而只是简单地响应上层服务器的请求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_255590.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

不用U盘 重装系统(别再浪费钱去电脑城装系统了)

不用U盘 重装系统(别再浪费钱去电脑城装系统了) 首先打开浏览器,搜索MSDN回车,选择第一个网站 点击操作系统 往下拉找到win10专业版 选择(business editions)和 (x64) 打开迅雷,点击新建&a…

Java --- Integer.parseInt()

parseInt() 方法是java.lang 包下Integer 类的一个方法。 Java Integer parseInt() 方法共有三种不同类型,可以根据其参数进行区分。 用法: 以下是 parseInt() 方法的声明: public static int parseInt (String s) public static int parseInt (Strin…

暗月内网渗透实战——项目七

首先环境配置 VMware的网络配置图 环境拓扑图 开始渗透 信息收集 使用kali扫描一下靶机的IP地址 靶机IP:192.168.0.114 攻击机IP:192.168.0.109 获取到了ip地址之后,我们扫描一下靶机开放的端口 靶机开放了21,80,999,3389,5985,6588端口…

ChatGpt,普通人如何做到年薪 50 万

国内使用ChatGpt的方式汇总,2023 年 2 月 8 号,亲测可用 最近,ChatGpt 很火,身边的人都在讨论,会不会成为下一个风口,想前几年互联网一样,迎来井喷式的发展。 小徐我也是在关注,这…

pycharm的terminal与Project interpreter 配置环境不一致的问题

考虑自己的项目名中是否出现了中文,我是因为这个原因导致Terminal 前面出现了PS,用第2条解决切换终端环境后还是安装包不一致。终端出现PS,考虑在settings中搜索找到Terminal,修改其Shell path为cmd.exe,关闭重新打开T…

PGL 系列(七)metapath2vec

metapath2vec 基于meta-path的random walks来构建每个顶点的异构邻域,然后用Skip-Gram模型来完成顶点的嵌入。

中国大学mooc 机器人操作系统讲义以及部分笔记

这里写目录标题二进制与源码包1.7 安装RoboWare Studio新的连接配套代码 官方看了一下课程官方的讲义连接,似乎很多页面已经丢失?或者是未授权?二进制与源码包 https://sychaichangkun.gitbooks.io/ros-tutorial-icourse163/content/chapter…

复习0206

目录 一、访问修饰符 一、权限范围 二、注意事项 二、封装(面向对象的三大特征之一) 一、封装的好处 二、封装的实现步骤 三、和构造器结合 四、练习题中的细节 一、访问修饰符 一、权限范围 访问修饰符用于控制方法和属性(成员变量…

MyBatis基础知识

1 JDBC基础知识1.1 JDBC简介JDBC是使用Java语言操作关系型数据库的一套API,全称Java DataBase Connectivity,Java数据库连接。JDBC定义了操作所有关系型数据库的规则,同一套Java代码可以操作不同的关系型数据库。也就是JDBC是Java语言操作数据…

2023年rabbitMq面试题汇总4(7道)

一、如何保证消息的顺序性?1. 通过某种算法,将需要保持先后顺序的消息放到同⼀个消息队列中(kafka中就是partition,rabbitMq中就是queue)。然后只⽤⼀个消费者去消费该队列。2. 可以在消息体内添加全局有序标识来实现。二、使⽤RabbitMQ增加rest服务吞吐…

一篇文章学懂C++和指针与链表

指针 目录 指针 C的指针学习 指针的基本概念 指针变量的定义和使用 指针的所占的内存空间 空指针和野指针 const修饰指针 指针和数组 指针和函数 指针、数组、函数 接下来让我们开始进入学习吧! C的指针学习 指针的基本概念 指针的作用:可…

【Python】Python学习笔记(二)基本输入输出

Python娘来源:https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p002412 目录print()函数不进行自动换行的print()函数打印输出多个字符串只进行换行input()函数使用format方法格式化字符串字符串与数值转换字符串转换为数值数值转换为字符串总结参考资料print(…

【MongoDB】多级嵌套数组的操作 含Mongo Shell 和 MongoTemplate的增删改细节

文章目录1.前言2.数据准备3.Mongo Shell操作实践3.1.第一层数组操作3.1.1.新增元素3.1.2.修改元素3.1.2.1.批量修改元素中的坑3.1.3.使用$[<identifier>]做批量修改3.1.4.移除元素3.2.第二层数组操作3.2.1.新增与移除元素3.2.2.修改元素中的字段值3.2.2.1.易错点4.Mongo …

面试-java Spring 一

一.Spring两大特性 控制反转(IoC)&#xff1a;就是创建对象的控制权&#xff0c;被反转到了Spring框架上。通常我们实例化一个对象时&#xff0c;都是使用类的构造方法来new一个对象&#xff0c;这个过程是由我们自己来控制的&#xff0c;而控制反转就把new对象的工交给了Spri…

常用排序方式分析与比较

title: 常用排序方式分析与比较 date: 2020-04-05 15:59:00 tags: 排序直接插入排序希尔排序冒泡排序快速排序直接选择排序堆排序归并排序 categories:算法 下面选取在实际项目中应用较多的排序方式作一个性能比较&#xff0c;并会对各个方式作一个分析总结。 排序性能比较 …

int、uint类型的比较与加减

uint与int的比较 int与uint比较时会把int转换成uint&#xff0c;一个负的int转换成uint会溢出。所以uint与int比较大小时容易得到错误的结果&#xff0c;如&#xff1a; #include <iostream> using namespace std;int main(int, char**) {cout << "compare …

JavaEE15-Spring Boot统一功能处理

目录 1.统一用户登录权限效验 1.1.最初用户登录验证 1.2.Spring AOP用户统一登录验证的问题 1.3.Spring拦截器 1.3.1.创建自定义拦截器&#xff0c;实现 HandlerInterceptor 接口并重写 preHandle&#xff08;执行具体方法之前的预处理&#xff09;方法 1.3.2.将自定义拦…

【1797. 设计一个验证系统】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 你需要设计一个包含验证码的验证系统。每一次验证中&#xff0c;用户会收到一个新的验证码&#xff0c;这个验证码在 currentTime 时刻之后 timeToLive 秒过期。如果验证码被更新了&#xff0c;那么它…

python爬虫工程师 | 都会遇到的反爬手段,详细展示低难度反爬

在爬虫实战过程中&#xff0c;常见的反爬手段如下所示。 IP 地址限制&#xff1a;网站可以检测爬虫的 IP 地址&#xff0c;并限制爬虫访问。User-Agent 限制&#xff1a;网站可以通过检测请求头中的 User-Agent 来识别爬虫。Referrer 限制&#xff1a;网站可以通过检测请求头中…

JetpackCompose从入门到实战学习笔记7—Dialog的简单使用

JetpackCompose从入门到实战学习笔记7—Dialog的简单使用 1.Dialog对话框 Dialog的参数如下: Composable fun Dialog(onDismissRequest: (() -> Unit)?, //关闭对话框的回调properties: DialogProperties! DialogProperties(), //自定义对话框的属性content: ( Compose…