mysql 数据库生命周期_MySQL生命周期

本文详细介绍了MySQL查询的生命周期,从客户端发送请求到服务器检查查询缓存,再到解析、预处理、优化、执行以及返回结果给客户端的过程。讨论了查询缓存的工作原理,强调了查询优化的重要性,并提醒在开发中应避免使用SELECT *和长查询语句以减少通信开销。此外,还提到了查询缓存的配置选项和查询执行引擎如何通过存储引擎接口完成操作。
摘要由CSDN通过智能技术生成

2ff34e647e2e3cdfd8dca593e17d9b0a.png

很多时候所谓的的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。

MySQL的逻辑架构图如下所示

MySQL逻辑架构整体分为三层。其中最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。

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

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

MySQL查询过程

MySQL整个查询执行过程,总的来说分为6个步骤客户端向MySQL服务器发送一条查询请求

服务器首先检查查询缓存,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段

服务器进行SQL解析、预处理

由优化器生成对应的执行计划

MySQL根据执行计划,调用存储引擎的API来执行查询

将结果返回给客户端,同时缓存查询结果

上述过程如下图所示:

客户端/服务端通信协议

MySQL客户端/服务端通信协议是“半双工”的:在任一时刻,要么是服务器向客户端发送数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值