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 07 MySQL
MySQL快速插入一亿测试数据
Jun 23 MySQL
ORM模型框架操作mysql数据库的方法
Jul 25 MySQL
MySQL修炼之联结与集合浅析
Oct 05 MySQL
MySQL8.0升级的踩坑历险记
Nov 01 MySQL
SQL基础查询和LINQ集成化查询
Jan 18 MySQL
一文搞懂MySQL索引页结构
Feb 28 MySQL
深入理解MySQL中MVCC与BufferPool缓存机制
May 25 MySQL
MySQL优化之慢日志查询
Jun 10 MySQL
Mysql中的触发器定义及语法介绍
Jun 25 MySQL
Mysql数据库group by原理详解
Jul 07 MySQL
MySQL索引失效场景及解决方案
Jul 23 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
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
实用函数9
2007/11/08 PHP
PHP注释实例技巧
2008/10/03 PHP
PHP6新特性分析
2016/03/03 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
js里怎么取select标签里的值并修改
2012/12/10 Javascript
jquery动态改变onclick属性导致失效的问题解决方法
2013/12/04 Javascript
javascript 寻找错误方法整理
2014/06/15 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
jQuery自动添加表单项的方法
2015/07/13 Javascript
javascript获取系统当前时间的方法
2015/11/19 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
Vue唯一可以更改vuex实例中state数据状态的属性对象Mutation的讲解
2019/01/18 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
c++生成dll使用python调用dll的方法
2014/01/20 Python
python中的yield使用方法
2014/02/11 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
浅谈Python黑帽子取代netcat
2018/02/10 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Windows 下python3.8环境安装教程图文详解
2020/03/11 Python
python中数字是否为可变类型
2020/07/08 Python
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
捷克移动配件网上商店:ProMobily.cz
2019/03/15 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
人力资源主管岗位职责
2014/01/29 职场文书
电台编导求职信
2014/05/06 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript