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 11 MySQL
浅谈Mysql多表连接查询的执行细节
Apr 24 MySQL
MySQL 表空间碎片的概念及相关问题解决
May 07 MySQL
MySQL 发生同步延迟时Seconds_Behind_Master还为0的原因
Jun 21 MySQL
mysql连接查询中and与where的区别浅析
Jul 01 MySQL
mysql备份策略的实现(全量备份+增量备份)
Jul 07 MySQL
关于MySQL中的 like操作符详情
Nov 17 MySQL
MYSQL优化之数据表碎片整理详解
Apr 03 MySQL
深入理解mysql事务隔离级别和存储引擎
Apr 12 MySQL
Mysql 8.x 创建用户以及授予权限的操作记录
Apr 18 MySQL
Mysql InnoDB 的内存逻辑架构
May 06 MySQL
MYSQL事务的隔离级别与MVCC
May 25 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 数组遍历顺序理解
2009/09/09 PHP
如何使用php输出时间格式
2013/08/31 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
提高PHP编程效率的方法
2013/11/07 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
javascript判断非数字的简单例子
2013/07/18 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
2016/05/30 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
详解vue-resource promise兼容性问题
2017/06/20 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
基于vue配置axios的方法步骤
2017/11/09 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
Python实现类继承实例
2014/07/04 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python进阶之尾递归的用法实例
2018/01/31 Python
Python调用C++,通过Pybind11制作Python接口
2018/10/16 Python
创建Django项目图文实例详解
2019/06/06 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
Python生成器实现简单"生产者消费者"模型代码实例
2020/03/27 Python
Django调用支付宝接口代码实例详解
2020/04/04 Python
纽约海:Sea New York
2018/11/04 全球购物
计算机求职信
2014/07/02 职场文书
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
Anaconda配置各版本Pytorch的实现
2021/08/07 Python
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android
Python面试不修改数组找出重复的数字
2022/05/20 Python