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 相关文章推荐
MySQL Router的安装部署
Apr 24 MySQL
Mysql基础知识点汇总
May 26 MySQL
MySQL中VARCHAR与CHAR格式数据的区别
May 26 MySQL
MySQL 使用索引扫描进行排序
Jun 20 MySQL
mysq启动失败问题及场景分析
Jul 15 MySQL
SQL实现LeetCode(197.上升温度)
Aug 07 MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
Dec 06 MySQL
详解MySql中InnoDB存储引擎中的各种锁
Feb 12 MySQL
Mysql Innodb存储引擎之索引与算法
Feb 15 MySQL
MySQL创建管理HASH分区
Apr 13 MySQL
Mysql InnoDB 的内存逻辑架构
May 06 MySQL
MySQL8.0 Undo Tablespace管理详解
Jun 16 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中的时间处理
2006/10/09 PHP
测试您的 PHP 水平的题目
2007/05/30 PHP
php jq jquery getJSON跨域提交数据完整版
2013/09/13 PHP
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
详解Vue2中组件间通信的解决全方案
2017/07/28 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
JavaScript实现小球沿正弦曲线运动
2020/09/07 Javascript
原生JS无缝滑动轮播图
2019/10/22 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
在Linux下使用Python的matplotlib绘制数据图的教程
2015/06/11 Python
python3 flask实现文件上传功能
2020/03/20 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
解决python flask中config配置管理的问题
2019/07/26 Python
python tkinter实现屏保程序
2019/07/30 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
python如何输出反斜杠
2020/06/18 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
SQL SERVER面试资料
2013/03/30 面试题
培训心得体会
2013/12/29 职场文书
工程质量承诺书
2014/03/27 职场文书
网络工程师自荐书范文
2014/04/01 职场文书
初二学习计划书范文
2014/04/27 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers