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 06 MySQL
MySQL数字类型自增的坑
May 07 MySQL
SQL注入的实现以及防范示例详解
Jun 02 MySQL
MySQL定时备份数据库(全库备份)的实现
Sep 25 MySQL
MySQL笔记 —SQL运算符
Jan 18 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
一条慢SQL语句引发的改造之路
Mar 16 MySQL
MySQL中IO问题的深入分析与优化
Apr 02 MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
Apr 09 MySQL
MySQL 自动填充 create_time 和 update_time
May 20 MySQL
MySQL分布式恢复进阶
Jul 23 MySQL
数据设计之权限的实现
Aug 05 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集成FCK的函数代码
2008/09/27 PHP
php 正则匹配函数体
2009/08/25 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
PHP中cookie知识点学习
2018/05/06 PHP
YII框架http缓存操作示例
2019/04/29 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
学习ExtJS form布局
2009/10/08 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
Vue写一个简单的倒计时按钮功能
2018/04/20 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
postman和python mock测试过程图解
2020/02/22 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
物业管理求职自荐信
2013/09/25 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
2016教师节问候语
2015/11/10 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书