MySQL逻辑架构

提及MySQL的查询优化,相信你们收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理建立索引、为字段选择合适的数据类型… 你是否真的理解这些优化技巧?是否理解其背后的工做原理?在实际场景下性能真有提高吗?我想未必。于是理解这些优化建议背后的原理就尤其重要,但愿本文能让你从新审视这些优化建议,并在实际业务场景下合理的运用。缓存

MySQL逻辑架构

若是能在头脑中构建一幅MySQL各组件之间如何协同工做的架构图,有助于深刻理解MySQL服务器。下图展现了MySQL的逻辑架构图。安全

在这里插入图片描述
MySQL逻辑架构总体分为三层,最上层为客户端层,并不是MySQL所独有,诸如:链接处理、受权认证、安全等功能均在这一层处理。服务器

MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(好比:时间、数学、加密等函数)。全部的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。架构

最下层为存储引擎,其负责MySQL中的数据存储和提取。和Linux下的文件系统相似,每种存储引擎都有其优点和劣势。中间的服务层经过API与存储引擎通讯,这些API接口屏蔽了不一样存储引擎间的差别。ide

相关文章
相关标签/搜索