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 相关文章推荐
数据库连接池
Apr 06 MySQL
Mysql MVCC机制原理详解
Apr 20 MySQL
MySQL慢查询的坑
Apr 28 MySQL
Mysql Online DDL的使用详解
May 20 MySQL
MySQL 常见存储引擎的优劣
Jun 02 MySQL
Unity连接MySQL并读取表格数据的实现代码
Jun 20 MySQL
MySql 8.0及对应驱动包匹配的注意点说明
Jun 23 MySQL
解决mysql的int型主键自增问题
Jul 15 MySQL
MySQL子查询中order by不生效问题的解决方法
Aug 02 MySQL
MySQL中的隐藏列的具体查看
Sep 04 MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
Oct 15 MySQL
SQL 聚合、分组和排序
Nov 11 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中常用的字符串格式化函数总结
2014/11/19 PHP
php生成zip文件类实例
2015/04/07 PHP
php中strtotime函数性能分析
2016/11/20 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
javascript字符串拼接的效率问题
2010/12/25 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
2016/09/02 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
[04:16]完美世界DOTA2联赛PWL S2 集锦第一期
2020/11/23 DOTA
使用Python对Access读写操作
2017/03/30 Python
Python批量更改文件名的实现方法
2017/10/29 Python
python安装twisted的问题解析
2018/08/21 Python
python机器学习之神经网络实现
2018/10/13 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
基于wxPython的GUI实现输入对话框(2)
2019/02/27 Python
Python比较配置文件的方法实例详解
2019/06/06 Python
使用Python获取当前工作目录和执行命令的位置
2020/03/09 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
selenium自动化测试入门实战
2020/12/21 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
工程造价自荐信
2013/10/09 职场文书
旺仔牛奶广告词
2014/03/20 职场文书
一年级评语大全
2014/04/23 职场文书
学校通报表扬范文
2015/05/04 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
商业计划书格式、范文
2019/03/21 职场文书
掌握一个领域知识,高效学习必备方法
2019/08/08 职场文书
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
2022/08/14 Servers