连接层 connection pool
C/S程序都需要的:连接处理,身份验证,安全性
服务层(业务逻辑处理层)sql layer
权限判断,sql解析,行计划优化, query cache 的处理以及所有内置的函数(如日期,时间,数学运算,加密)等等。
各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等
架构
connectors
不同语言中与sql的交互Management Serveices & Utilities
系统管理和控制工具Connection Pool
连接池管理多个用户连接SQL interface
接受用户的SQL命令,并且返回用户需要查询的结果Parser
解析器Optimizer
查询优化器Cache和Buffer
查询缓存存储引擎接口
连接不同的存储引擎获取数据
查询优化器
- 1.解析查询之前,要查询缓存,这个缓存只能保存查询信息以及结果数据
- 2.MySQL会解析查询,并创建了一个内部数据结构(解析树)。
- 3.然后对其进行各种优化。这些优化包括了,查询语句的重写,读表的顺序,索引的选择等等。
- 4.用户可以通过查询语句的关键词传递给优化器以便提示使用哪种优化方式,这样即影响了优化器的优化方式。
数据引擎存储层
底层数据存取操作实现部分,由多种存储引擎共同组成。它们负责存储和获取所有存储在MySQL中的数据。就像Linux众多的文件系统 一样。
- InnoDB
- MyIsam
- Memory
- Mrg_Myisam
- Blackhole
莫问!问就是只知道innodb和myisam。orzorzorzorz……