3分钟让你记住 - MySQL的体系架构和查询原理

31 篇文章 0 订阅
31 篇文章 0 订阅
本文介绍了MySQL的体系架构,包括单进程多线程的数据库结构、数据库实例和存储引擎。重点阐述了MySQLD(SQL层)和存储引擎层的功能,以及查询工作流程,包括客户端查询、权限检查、索引缓存、预处理、优化器、执行计划及存储引擎的交互。了解这些原理对数据库开发和运维人员至关重要。
摘要由CSDN通过智能技术生成

引言

数据库在我们工作中是常用的工具,公司的重要业务信息大部分都会存储在数据库中。

因此,对于开发人员或运维人员来说,掌握数据库基本原理是必要的技能。无论你使用的是何种数据库,了解数据库的体系架构是非常必要的。“知此知彼,方能百战百胜”。

下面小编就带你来了解MySQL的体系架构

3分钟让你记住 - MySQL的体系架构和查询原理

 

首先我们得明确MySQL的体系架构主要是数据库数据库实例组成的,在了解MySQL的实质之前,先来了解以下的概念。

  1. MySQL是一种单进程多线程的数据库,而数据库实例则是以一个进程的方式在系统中体现出来的。
  2. MySQL的文件格式有 ibd、MYI、MYD、frm 等结尾的格式文件。

 一、MySQL架构示意图

3分钟让你记住 - MySQL的体系架构和查询原理

 

从上图中我们可以发现,整个MySQL框架由两部分组成,

1、 上层是MySQLD,又被叫做“SQL的图层”,里面包含有 查询解析、分析、优化、缓存以及系统自定义的函数(比如,时间、三角函数、加密函数等),主要能实现的功能有:视图、触发器、存储过程等

2、 下层是为上层提供接口的各式各样的存储引擎,又被称之为“存储引擎图层”。存储引擎包含有很多底层存储引擎诸如 InnoDB、MyISAM、Memory…….,已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击它们被用于像“根据主键查询一行记录”等等方法。但存储引擎不会去解析SQL,各个存储引擎直接不会发生互相通信,他们就仅仅的响应上层服务器端的请求

二、查询工作原理示意图

3分钟让你记住 - MySQL的体系架构和查询原理

 

1、 客户端首先向服务器发送一条查询语句。

2、 服务器接收到查询语句之后,做两件事情

  • 一是,检查查询语句是否完全匹配
  • 二是,然后再检查该条语句是否具有权限

3、 当这两个条件都满足的时候,即开始索引缓存,缓存中存在的话则直接返回结果,如果不存在的话,则进入下一个环节,即步骤4。

4、 先进行预处理阶段,解析SQL语句,生成新的解析树,接着再交给对应的模块处理,根据优化器优化,然后生成对应的执行计划。

5、 优化器的执行计划就是,调用存储引擎中的API执行计划表,当有数据变化的时候,打开日志功能,就会记录在相应的二进制日志文件中。

6、 设置缓存,请求完成之后,将结果返回给连接进/线程模块,然后到客户端,并决定是等待请求还是与客户端连接断开。

结论

以上就是MySQL的软件体系架构和查询工作原理,对于开发人员以及运维人员的我们很重要。了解了他们,就能为你的数据库开发道路前进中,扫除很多障碍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值