MySql数据库三层架构

2023-12-15  本文已影响0人  编程人生

看下面这张图: 

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

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

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

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

    主要做哪些优化: 例如

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

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读