简单描述MySQL常用引擎的特点及MySQL的逻辑架构
表的分类数据库引擎?
引擎是什么?
引擎就是一个系统最核心的部分,比如汽车的发动机,人的心脏
数据库引擎指的是真正的负责存储数据的模块
首先得说说mysql的逻辑架构,它整体分为3层:
- 客户端:并非mysql所独有,如:连接处理、授权认证、安全等功能均在这一层处理
- 核心服务:包括查询解析、分析、优化、缓存、内置函数(比如 : 时间、数学、加密等函数),所有的跨存储引擎的功能也在这一层实现 : 存储过程、触发器、视图等
- 存储引擎:负责 MySQL 中的数据存储和提取,和 Linux 下的文件系统类似,每种存储引擎都有其优势和劣势,中间的服务层通过 API 与存储引擎通信,这些 API接口 屏蔽不同存储引擎间的差异
常用引擎:
InnoDB(重点)
MyISAM
BLACKHOLE(黑洞引擎)
CSV(数据文件可以使用excel打开)
补充知识点:
MySQL 整个查询执行过程,总的来说分为 5 个步骤 :
- 客户端向 MySQL 服务器发送一条查询请求
- 服务器首先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果,否则进入下一阶段
- 服务器进行 SQL解析、预处理、再由优化器生成对应的执行计划
- MySQL 根据执行计划,调用存储引擎的 API来执行查询
- 将结果返回给客户端,同时缓存查询结果