千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > MySQL优化之-MySQL的架构体系

MySQL优化之-MySQL的架构体系

来源:千锋教育
发布人:qyf
时间: 2023-03-02 20:47:00 1677761220

MySQL优化之-MySQL的架构体系

  mysql优化是java面试中的重点项目,几乎在每一场java面试中都会被问到一些和mysql优化相关的题,所以从今天起老师想和大家分享一套mysql的优化课程,也许有些同学会纳闷,mysql的优化课程为什么开篇就讲【MySQL的架构体系】呢?我们见到了太多单纯讲优化经验的文章,这些文章中提到的技巧确实能解决一些燃眉之急,可是优化过后,我们是否真的理解了为什么要这样优化呢?掌握MySQL的结构体系,能够让我们知其然,又能知其所以然。 以下引用了一位大神的话,和大家共勉。

  看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题

  一. MYSQL的架构体系图

  首先老师手绘了一张MySQL的体系架构图,让同学们对完整的MySQL体系架构有一个整体认识

  二. 分层介绍各模块的作用

  从上图中我们可以很清楚的发现MySQL的体系架构分为:服务层,引擎层,存储层 三层。

  接下来老师将大致介绍每一层的作用,为我们日后学习MySQL优化筑基。

  2.1 服务层

  连接池:主要负责用户连接上mysql服务器的工作。

  用户名和密码的认证;

  权限的控制;

  线程的重用和限制,可以起到保护数据库服务器不至于被海量的连接拖垮,造成OOM。

  查询缓存: 提升查询效率。

  缓存的数据以 key-value的形式保存,key就是查询语句;

  由于数据频繁失效弊大于利,MySQL8.0已经把这一块废弃;

  解析器: 对sql命令做解析。

  语法分析: 分析sql语法是否正确。

  词法分析: 识别出sql语句的表名 列名,视图等。

  优化器:sql语句执行前进行优化 包括【索引选择,join顺序调整等】。

  执行器:操作引擎,返回结果。

  2.2 引擎层

  存储引擎概念就是指 mysql数据文件的存储方式包含【存储机制,索引和锁的水平】等信息

  MySQL支持多种存储引擎(数据存储方式)包含【InnoDB、MyISAM、Memory】等。

  MySQL的核心就是存储引擎。

  2.3 物理文件存储层

  存储层主要存储系统的物理文件,并完成和引擎层的交互。

  物理文件包含以下三类:

  日志文件:包含对数据做修改的 Binary log 和记录慢查询的 Slow Query log

  数据文件:包含表结构定义文件,数据文件,索引文件等

  系统配置文件: 包含/etc/my.cnf等

  四. 结语

  正确的了解MySQL的体系结构之后,那么恭喜各位同学,我们已经为学习MySQL优化顺利筑基了。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT