mysql安全补丁如何处理_3分钟学会mysql数据库的逻辑架构原理

这篇文章主要是从mysql数据库的逻辑架构来认识掌握mysql的原理。只要是稍微有一点计算机的相关知识相信都能看明白。

一、笼统的逻辑架构

先给出一张逻辑架构图,这张图是让你从宏观的角度来分析认识一下。

0e6122718499d9bee6bf202524a960d0.png

从这张图你可以获取到如下的信息:

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

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

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

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

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

现在你已经了解了mysql的整体架构,而且也大致明白了每一层是干嘛的,现在我们把目光逐渐细化,毕竟上面这张图还是太笼统。

二、细化的逻辑架构图

看下面这张图。

1c1ce1e6251416b4031ba2d9eb9cbbb6.png

这张图相比较前面那张图就细化了一部分,从上到下还是分为了四层,

第一层:在这里我们可以看出,连接的客户端有很多,PHP、python、jdbc等等都有。

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

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

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

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

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

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

cae3cb9c5fe5dabb04b29dd18fbd2fd7.png

对于mysql数据库来说,默认的就是InnoDB,它不能支持哈希索引还有全文索引。因此如果有一天你不喜欢它了也可以去更换,语句就是SET default_storage_engine=< 存储引擎名 >。

a00bf2389c92659ad7442ae17d404d95.png

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

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

相关文章

onclick 源码_仿照React源码流程打造90行代码的Hooks

作者&#xff1a;苏畅转发链接&#xff1a;https://mp.weixin.qq.com/s/YLSD4IojDWTPlov_RQtVAA前言你可能已经看过其它简易的Hooks实现。那么本文和其它实现有什么区别呢&#xff1f;本文的实现完全参照React源码的运行流程。学懂本文&#xff0c;去看React源码&#xff0c;你…

java写一个窗体并连接MySQL_大神帮忙写一个简单地java页面,连接MySQL数据库之后能够显示数据库上的数据...

展开全部用jdbc 连接mysql数据库就行了&#xff0c;网上搜下一大把。--记得在classpath下加入mysql 的jdbc驱动包。/*** author &#xff1a;来e68a84e8a2ad3231313335323631343130323136353331333337386636自互联网*/import java.sql.DriverManager;import java.sql.ResultSet…

java break 在if 中使用_java中使用国密SM4算法详解

前言上次总结了一下加密算法的分类&#xff08;加密算法有集中形式&#xff0c;各有什么不同&#xff1f;&#xff09;&#xff0c;现在我们用java语言实现一下SM4:无线局域网标准的分组数据算法。对称加密&#xff0c;密钥长度和分组长度均为128位。ps&#xff1a;我们既可以基…

移动web前端开发框架_移动前端开发是Web前端开发吗?

移动端开发并不是Web前端开发&#xff0c;但移动前端开发和web前端开发其实都属于前端开发的范围&#xff0c;目前前端发展的趋势就是大前端&#xff0c;可以说是包罗万象。但不论趋势如何发展&#xff0c;目前来看HTML、CSS和JavaScript依然是整个前端开发的三大基石。所以不论…

mtk一键usb驱动_三菱MRJEB驱动器报错,导致报错原因37.1参数设置范围异常?

三菱MR-JE-B驱动器报错&#xff0c;导致报错原因37.1参数设置范围异常&#xff1f;最近海蓝机电工程师们在做一个项目&#xff0c;做的是三菱MR-JE-B驱动器。工程师们在实操这个项目过程中遇到各种问题&#xff0c;其中就像驱动器报错的问题&#xff0c;导致报错的原因显示37,1…

将虚拟主机加入到netskills.net域环境_网站建设阿里云虚拟主机、ECS服务器、企业邮箱选择购买指南...

对于刚接触阿里云的人来说可能看到阿里云的产品介绍页面会比较头晕&#xff0c;各种产品分类&#xff0c;而且同一个产品在不同的分类目录下都能看到&#xff0c;下面简单介绍一下制作网站过程中常用的阿里云的产品。阿里云在网站建设方面常用的服务主要有云虚拟主机、ECS云服务…

linux查看硬盘smart_Linux检测磁盘坏道工具用什么命令

请关注本头条号&#xff0c;每天坚持更新原创干货技术文章。如需学习视频&#xff0c;请在微信搜索公众号“智传网优”直接开始自助视频学习1. badblock命令简介badblock命令用于查找磁盘中损坏的区块。 电脑硬盘出现坏道后&#xff0c;如果不及时更换或进行技术处理&#xff0…

python弹出框_selenium+python学习——弹出框

1、alert警告框 以百度搜索设置为例&#xff0c;在进行搜索设置后点击“保存设置”按钮&#xff0c;弹出alert对话框&#xff0c;如下图所示&#xff1a;实现代码&#xff1a; from selenium import webdriver import time as t from selenium.webdriver.support.select import…

网页打开共享目录_你会做Excel文件目录吗?真的太太太太太简单了!

点击蓝字发送【2020】免费领 100图表模板&#xff01;本文作者&#xff1a;长小安本文编辑&#xff1a;尔冬哈喽大家好&#xff01;我是长小安&#xff0c;一名和秋叶一起学了多年 Excel、现在成功出道投稿的同学~让我来猜猜&#xff0c;你的电脑是不是也像我的一样&#xff0c…

centos7搜狐 mysql_基于centOS6.7搭建LAMP(httpd-2.4.18+mysql-5.5.47+php-5.6.16)环境

首先确保系统可以联网。设置IP地址以及虚拟机安装linux在此略过。本文采用centos6.7 64位minimal版、php5.6.16、httpd-2.4.18、mysql-5.5.47版搭建lamp环境。默认设置软件下载目录/usr/local/src&#xff0c;软件安装目录/app/local/下&#xff0c;安装顺序是apache→mysql→p…

c语言 如何创建adt_编程那些事儿:面向对象编程基石之数据抽象(ADT)

数据抽象本文接上一篇《编程那些事儿&#xff1a;为什么说抽象是面向对象编程的根基【1】&#xff1f;》,在了解了面向对象编程抽象的过程抽象后&#xff0c;下面我们继续聊一下数据抽象。数据抽象可以说面向对象编程最重要的基石。而数据抽象的结果就是数据类型(或简单的类型)…

mysql客户端版本太低_windows一机多装mysql,5.5低版本+5.8高版本

安装第一个mysql&#xff0c;压缩版或者安装版&#xff0c;过程省略&#xff0c;目录如下&#xff1a;运行中输入“regedit”进入后&#xff0c;找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL其实mysql启动的路径一般为&#xff1a;可执行文件的路径&…

java8 list 行转列_Java14 都来了,你还不会用 Java8吗?

Java 8 于2014年3月18日发布&#xff0c;并且成为主流的 Java&#xff0c;如今&#xff0c;虽然 Java 14 都已经发布了&#xff0c;但是 开发者和公司选择的版本依旧是经久不衰的 Java 8 版本&#xff0c;如果你还不了解这些新特性&#xff0c;是时候学习一下了。Java 8 更新的…

mysql主键用完了怎么办_MySQL 自增 ID 用完了怎么办?

MySQL 自增 ID 用完了怎么办&#xff1f;在MySQL中有很多类型的自增ID&#xff0c;每个自增ID都设置了初始值&#xff0c;然后按照一定的步长增加&#xff0c;只要定义了字节长度&#xff0c;那么就会有上限&#xff0c;如果达到上限再次添加&#xff0c;则会报主键冲突错误&am…

python字典统计_python字典计数

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01;字典?thcollections.counter 计数器? image.png找不到键的时候会调用miss方法如果键不是字符串&#xff0c…

java相册_精致小巧的java相册制作方法

本文实例为大家分享了java相册制作方法&#xff0c;供大家参考&#xff0c;具体内容如下注&#xff1a;1)html上的图片是静态指定的。当更新了新的图片时必须手工更新。所以使用Servlet读取本地images中的所有图片&#xff0c;动态显示给用户。2)如果存在中文名的图片&#xff…

利用python画分形图_使用 Python 绘制 Mandelbrot 分形图

以前收集的关于Mandelbrot分形图的Python脚本&#xff0c;Mandelbrot集合的图像因它洛可可式繁复卷曲华丽的风格而受到大众的欣赏和赞叹&#xff0c;与其他分形图案一起&#xff0c;是许多艺术家和设计师的灵感来源。 是由于今天个人电脑计算能力的强大&#xff0c;才有可能让我…

java sound api_Java Sound API

Java Sound API是javaSE平台提供底层的(low-level)处理声音接口。例外&#xff0c;java也提供了简单的实用的高层媒体接口(higher-level) &#xff0d; JMF(Java Media Framework)。Java Sound API 将需要处理的数字音频分为&#xff1a;simpled-audio和midi,分别提供Package来…

java实现的小程序_Java实现 微信小程序 + 消息推送

实现效果&#xff1a;下面要显示五个字段接下来&#xff0c;参照官方文档&#xff0c;一步步实现&#xff1a;一、官方给出请求示例、返回示例二、根据上面编写实体类(1)请求参数Datapublic class SendTemplateReq {/*** 接收者(用户)的 openid*/private String touser;/*** 所…

vb excel 整行删除_Excel中常用的批量处理都不掌握,那就真的Out了

针对一些有规律&#xff0c;能批量处理的数据&#xff0c;必须采用批量处理的方法&#xff0c;否则对于工作效率就会有很大的影响。今天我们来学习的内容是Excel中的6个批量处理技巧。一、Excel批量技巧&#xff1a;批量求和。目的&#xff1a;按照“季度”和“产品”两个维度计…