MySQL学习总结-基础架构概述


Posted in MySQL onApril 05, 2021

1、总述

MySQL可以分为Server层存储引擎层
MySQL学习总结-基础架构概述
Server层: 包括大多数 MySQL 中的核心功能,所有跨存储引擎的功能也在这一层实现,包括存储过程、触发器、视图等。
存储引擎层: 包括 MySQL 常见的存储引擎(MyISAM、InnoDB和Memory 等),最常用的是InnoDB,也是现在MySQL的默认存储引擎。存储引擎也可以在创建表的时候手动指定。

2、连接器

用于连接用户和MySQL数据库。
1、用户发起连接(mysql -u 用户名 -p 密码);
2、连接器会根据用户输入的用户名和密码验证你的登录身份;
3、根据权限表中的记录来判定用户的权限。

3、查询缓存

以key-value 对的形式存储以前执行过的语句及结果;被直接放到内存中,可以直接返回结果。
key: 查询语句
value: 查询结果

注: 不建议使用;因为只要在 MySQL 中对某一张表执行了更新操作,那么所有的查询缓存就会失效,对于更新频繁的数据库来说,查询缓存的命中率很低

4、分析器

用于对SQL语句的词法分析和语法分析。
词法分析: 解析SQL语句,识别其中的关键字,字符串,空格;
语法分析: 对词法分析的结果,进行分析,判断SQL语句是否符合MySQL语法。

5、优化器

根据数据库统计信息、索引等,选择出一种效率更高的执行方案。

6、执行器

1、判断是否有执行这条语句的权限
2、执行器就会根据表的引擎定义,去使用这个引擎提供的接口。

7、SQL语句执行顺序

MySQL学习总结-基础架构概述
WHERE 和 ON 的区别
如果有外部列,ON 针对过滤的是关联表,主表(保留表)会返回所有的列;如果没有添加外部列,两者的效果是一样的;

对主表的过滤应该使用 WHERE;对于关联表,先条件查询后连接则用 ON,先连接后条件查询则用 WHERE;

8、临时表

MySQL 在执行 SQL 语句的过程中,通常会临时创建一些存储中间结果集的表,临时表只对当前连接可见,在连接关闭时,临时表会被删除并释放所有表空间。

MySQL 相关文章推荐
浅析InnoDB索引结构
Apr 05 MySQL
MySQL数据迁移相关总结
Apr 29 MySQL
MySQL中VARCHAR与CHAR格式数据的区别
May 26 MySQL
MySQL单表千万级数据处理的思路分享
Jun 05 MySQL
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
Jun 21 MySQL
解决Mysql多行子查询的使用及空值问题
Jan 22 MySQL
一文了解MySQL二级索引的查询过程
Feb 24 MySQL
MySQL日期时间函数知识汇总
Mar 17 MySQL
MySQL的存储函数与存储过程的区别解析
Apr 08 MySQL
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
Apr 20 MySQL
关于mysql中string和number的转换问题
Jun 14 MySQL
MySQL的表级锁,行级锁,排它锁和共享锁
Jul 15 MySQL
MySQL基础(一)
Apr 05 #MySQL
MySQL基础(二)
MySQL锁机制
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
MySQL入门命令之函数-单行函数-流程控制函数
Apr 05 #MySQL
You might like
php购物网站支付paypal使用方法
2010/11/28 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
被jQuery折腾得半死,揭秘为何jQuery为何在IE/Firefox下均无法使用
2010/01/22 Javascript
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
jquery编写日期选择器
2017/03/16 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
Python实现的矩阵类实例
2017/08/22 Python
浅谈Python处理PDF的方法
2017/11/10 Python
python 读取视频,处理后,实时计算帧数fps的方法
2018/07/10 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
2020/10/15 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
面向对象概念面试题(.NET)
2016/11/04 面试题
生物科学专业个人求职信范文
2013/12/05 职场文书
心得体会怎么写
2013/12/30 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技