数据库
首页 > 数据库> > 《破壁MySQL》 - MySQL概述

《破壁MySQL》 - MySQL概述

作者:互联网

在正式开始总结MySQL之前,先给大家介绍一下“破壁”是什么意思,很久之前我老大曾说过一句 “互联网本来没有什么行业壁垒,但是通过制造一些专业名词,人为的制造了很多行业壁垒出来”,我深以为然。

计算机的本质是0和1,之后通过层层封装、抽象构建出了我们今天看到的互联网世界。

我不否认计算机中难度很高的知识,但是就我目前接触到的知识来说还没有到那种程度,我想这种可以称之为行业壁垒的核心知识占总知识量的0.01%都不到,绝大多数人一生都不会遇到这些问题。

那么剩下的就是这一个一个人为制造的、可以通过花时间掌握的“行业壁垒”。

破壁的意思就是打破这些人为制造的“行业壁垒”,让我们技术人员人人如龙。


破壁系列的第一个专题我选择了互联网的数据存储基石 - MySQL。

这个专题将会总结事务、索引、SQL性能优化、分库分表、主从复制等MySQL核心内容。详情参见下面的思维导图:

MySQL 是什么

MySQL 是一个免费、开源的关系型数据库管理软件,在互联网行业被广泛使用。

MySQL 架构

MySQL中插件式存储引擎架构一直是其非常有特色的亮点,其灵活的处理方式,高度可定制化及完全开放的实现一直被很多高级用户所肯定,下图是官方文档中的一张架构图:

常见面试题:

MySQL 的查询流程具体是?or 一条 SQL 语句在 MySQL 中如何执行的?
介绍一下 MySQL 的架构

  1. 客户发起请求。
  2. 在连接层进行权限校验、线程分配。
  3. 查询缓存(存在缓存则直接返回,不存在则执行后续操作)
  4. 分析器(对SQL进行词法分析和语法分析操作)
  5. 优化器(主要对执行的sql优化选择最优的执行方案方法)
  6. 执行器(执行时会先看用户是否有执行权限,有才去使用这个引擎提供的接口)
  7. 去引擎层获取数据返回(如果开启查询缓存则会缓存查询结果)

MySQL 存储引擎

MySQL中采用的是插件式存储引擎架构,可以根据需要选择不同的存储引擎。

现在互联网普遍使用的都是 InnoDB 存储引擎,常见的面试题是 InnoDB 存储引擎和 MyISAM 存储的对比,比如像下面这样问:

Innodb 和 MyISAM 的区别是什么?

可以从如下的角度进行回答:

小结

MySQL 是现在互联网大小厂主流使用的关系型数据库管理软件,平时工作中也是围绕着它进行开发,所以几乎是面试必考题。

这篇文章是《破壁》系列,第一个专题的第一篇文章。

文章中首先介绍了一下我接下来要写的内容(第一个专题 MySQL),其次是从技术原理和面试题两个角度介绍了 MySQL 架构和 MySQL 存储引擎。

参考资料


文章每周六持续更新,可以微信搜一搜「 荒古传说 」抢先阅读。

标签:存储,引擎,InnoDB,MyISAM,MySQL,概述,破壁
来源: https://blog.csdn.net/finish_dream/article/details/112414612