mysql视频教程栏目介绍MySQL体系架构
推荐(免费):mysql视频教程
MySQL 体系架构
MySQL 体系架构主要分为两部分:客户端和服务端
客户端
客户端连接器主要负责一些客户端的连接,针对不同的编程语言驱动提供连接服务。
服务端
服务层包括:系统管理和控制工具,连接池,SQL接口,解析器,查询优化器,缓存。
连接池
负责管理客户端与服务层数据处理的连接,以及对用户执行操作权限的校验。
系统管理和控制工具
负责备份安全,安全管理,集群管理服务和工具等。
SQL接口
接收客户端 sql命令 ,返回用户需要的结果。如:dml,ddl,存储过程,视图,触发器等命令。
解析器
词语(关键字)分析,语法分析,接收sql 将其解析,生成解析树,并且语法校验检查。
查询优化器:对生成解析树后并且通过解析器语法后,由优化器选择合适的索引,然后生成执行计划,然后与执行引擎交互。
缓存
缓存机制是由一系列缓存组合起来的。
如:表缓存,记录缓存(sql查询结果缓存起来,等下一次相同sql查询,从缓存中返回),
权限缓存,引擎缓存等。如果缓存命中,会直接从缓存中获取数据。
存储引擎层
负责Mysql 数据的读取和存取,如 InnoDB,MyISAM等。 可插拔式的,可以更换不同的存储引擎。
系统文件层
如日志,数据文件等。
一条SQL的执行流程
存储引擎层
存储引擎是 MySQL 中具体与文件打交道的子系统,是基于文件系统抽象出来用于mysql和磁盘文件打交道的一个系统;
常用的存储引擎, MyISAM、支持事务的 InnoDB;
功能对比
InnoDB 支持 ACID 的事务 4 个特性,而 MyISAM 不支持;
InnoDB 支持 4 种事务隔离级别,默认是可重复读 Repeatable Read 的,MyISAM 不支持;
InnoDB 支持 crash 安全恢复,MyISAM 不支持;
InnoDB 支持外键,MyISAM 不支持;
InnoDB 支持行级别的锁粒度,MyISAM 不支持,只支持表级别的锁粒度;
InnoDB 支持 MVCC,MyISAM 不支持;
以上是了解 MySQL 体系架构的详细内容。更多信息请关注PHP中文网其他相关文章!