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 重写查询语句的三种策略
May 10 MySQL
MySQL大小写敏感的注意事项
May 24 MySQL
MySql开发之自动同步表结构
May 28 MySQL
如何搭建 MySQL 高可用高性能集群
Jun 21 MySQL
python中的mysql数据库LIKE操作符详解
Jul 01 MySQL
基于MySql验证的vsftpd虚拟用户
Nov 07 MySQL
MySQL表锁、行锁、排它锁及共享锁的使用详解
Apr 02 MySQL
为什么MySQL8新特性会修改自增主键属性
Apr 18 MySQL
MySQL数据库事务的四大特性
Apr 20 MySQL
mysql幻读详解实例以及解决办法
Jun 16 MySQL
MySQL主从切换的超详细步骤
Jun 28 MySQL
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
Aug 14 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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
打造计数器DIY三步曲(下)
2006/10/09 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
PHP Class&Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
php调用google接口生成二维码示例
2014/04/28 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
2014/02/11 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python实现京东秒杀功能代码
2019/05/16 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
留学自荐信
2013/10/10 职场文书
人事助理岗位职责
2013/11/18 职场文书
C++程序员求职信范文
2014/04/14 职场文书
贷款承诺书范文
2014/05/19 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技