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 可扩展设计的基本原则
May 14 MySQL
正确使用MySQL INSERT INTO语句
May 26 MySQL
MYSQL主从数据库同步备份配置的方法
May 26 MySQL
SQL注入的实现以及防范示例详解
Jun 02 MySQL
MySQL的Query Cache图文详解
Jul 01 MySQL
一文弄懂MySQL索引创建原则
Feb 28 MySQL
mysql使用 not int 子查询隐含陷阱
Apr 12 MySQL
mysql 体系结构和存储引擎介绍
May 06 MySQL
MySql如何将查询的出来的字段进行转换
Jun 14 MySQL
MySQL示例讲解数据库约束以及表的设计
Jun 16 MySQL
MySQL数据库表约束讲解
Jun 21 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新手上路(七)
2006/10/09 PHP
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
php实现文件管理与基础功能操作
2017/03/21 PHP
仿服务器端脚本方式的JS模板实现方法
2007/04/27 Javascript
javascript:json数据的页面绑定示例代码
2014/01/26 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
js判断某个方法是否存在实例代码
2015/01/10 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
nodejs使用express创建一个简单web应用
2017/03/31 NodeJs
iscroll动态加载数据完美解决方法
2017/07/18 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
详解使用React全家桶搭建一个后台管理系统
2017/11/04 Javascript
angularjs实现分页和搜索功能
2018/01/03 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
js中时间格式化的几种方法
2018/07/22 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
React手稿之 React-Saga的详解
2018/11/12 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
药品质量检测应届生求职信
2013/11/14 职场文书
策划创业计划书
2014/02/06 职场文书
对孩子的寄语
2014/04/09 职场文书
会计个人实习计划书
2014/08/15 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
Mysql中常用的join连接方式
2022/05/11 MySQL