MySql数据库三层架构

看下面这张图: 

我们用客户端或者应用程序连接Mysql 查询数据时候,会经历以下步骤:

1.连接数据库, 用户名和密码校验(权限校验)

2.mysq 解析器 :对sql 进行解析, 主要 先将 sql 语句 进行词法分析和语法分析. 这一步会校验sql中 字段, 表 是否在数据库中存在, 语句是否正确,如果解析错误,会返回 常见的 sql 解析错误提示.

3. 优化器 对sql 进行优化. mysql 并不是,以我们写的sql 语句进行查询,而是经过 查询优化器优化 后 然后才执行. 根据解析树 生成不同的执行计划 (Explain Plan )  选择一种最优的执行计划.

    主要做哪些优化: 例如

    1.当我们多张表关联查询的时候,用哪张表的数据作为基准表

    2.有多个索引可以使用的时候,选用哪个索引.

    可以查看<<数据库查询优化器的艺术-原理解析与SQL性能优化>>

4. 执行器 : 执行器负责调存储引擎的API 执行查询操作, 返回结果.

5. 存储引擎: 规定 数据存储方式,是否支持事务 等特性,不同的场景选用不同的存储引擎. 不同存储引擎的API接口相同.

具体可以查看  存储引擎简介 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容