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知识点整理
Apr 05 MySQL
Mysql 如何批量插入数据
Apr 06 MySQL
MySQL 分页查询的优化技巧
May 12 MySQL
mysql 8.0.24 安装配置方法图文教程
May 12 MySQL
mysql在项目中怎么选事务隔离级别
May 25 MySQL
MySQL5.7并行复制原理及实现
Jun 03 MySQL
浅谈mysql增加索引不生效的几种情况
Jun 23 MySQL
MySQL into_Mysql中replace与replace into用法案例详解
Sep 14 MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 MySQL
MYSQL中文乱码问题的解决方案
Jun 14 MySQL
mysql幻读详解实例以及解决办法
Jun 16 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中的垃圾回收机制
2015/08/10 PHP
PHP pear安装配置教程
2016/05/14 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
PHP与服务器文件系统的简单交互
2016/10/21 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
jQuery动画特效实例教程
2014/08/29 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
python多线程分块读取文件
2019/08/29 Python
基于python检查矩阵计算结果
2020/05/21 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
英国网上购买肉类网站:Great British Meat
2018/10/17 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
Juice Beauty官网:有机美容产品,护肤与化妆品
2020/06/13 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
UNIX文件系统常用命令
2012/05/25 面试题
应届生求职推荐信
2013/10/28 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
标准的毕业生自荐信
2014/04/20 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
天坛导游词
2015/02/02 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android