MySQL的组成

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: SQL运行机制概述

image.png

建立连接

建立连接(Connectors&Connection Pool),通过客户端/服务器通信协议与MySQL建立连接。MySQL客户端与服务端的通信方式是“半双工”。对于每一个MySQL的连接,时刻都有一个线程状态来标识这个连接正在做什么。

通讯机制:

  1. 全双工:能同时发送和接收数据,例如平时打电话
  2. 半双工:指某一时刻,要么发送数据,要么接收数据,例如对讲机
  3. 单工:只能发送数据或者只能接收数据

线程状态:

show processlist; //查看用户正在运行的线程状态,root用户查看所有的

  • id:线程id,可以使用kill xx;
  • user:启动这个线程的用户
  • host:发送这个请求的客户端地址
  • db:当前命令在那个库执行
  • command:该线程正在的操作命令
  • Time:表示该线程处于当前状态的时间,单位是秒
  • State:线程状态
  • Info:一般记录线程执行的语句,默认显示前100个字符

查询缓存

查询缓存(Cache&Buffer),这是MySQL的一个可优化查询的地方,如果开启了查询缓存目在查询缓存过程中查询到完全相同的SQL语句,则将查询结果直接返回给客户端;如果没有开启查询缓存或者没有查询到完全相同的SQL语句则会由解析器进行语法语义解析,并生成"解析树”。

  • 缓存Select查询的结果和SQL语句
  • 执行Select查询时,先查询缓存,判断是否存在可用的记录集,要求是否完全相同(包括参数值),这样才会匹配缓存

解析器

查询优化器(Optimizer)根据'"解析树"生成最优的执行计划。MySQL使用很多优化策略生成最优的执行计划,可以分为两类:静态优化(编译时优化)、动态优化(运行时优化)。

查询优化器

查询优化器(Optimizer)根据解析树"生成最优的执行计划。MySQL使用很多优化策略生成最优的执行计划,可以分为两类:静态优化(编译时优化)、动态优化(运行时优化)。

查询执行引擎

查询执行引擎负责执行SQL语句,此时查询执行引擎会根据SQL语句中表的存储引擎类型,以及对应的AP接口与底层存储引擎缓存或者物理文件的交互,得到查询结果并返回给客户端。若开启用查询缓存,这时会将SQL语句和结果完整地保存到查询援存(Cache&Buffer)中,以后若有相同的SQL语句执行则直接返回结果。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
数据采集 算法 关系型数据库
在 MySQL 中使用 SOUNDEX?
【8月更文挑战第6天】
84 0
在 MySQL 中使用 SOUNDEX?
|
6月前
|
存储 关系型数据库 MySQL
什么是MySQL
什么是MySQL
62 0
|
存储 缓存 关系型数据库
mysql总结(下)
mysql总结
49 0
|
SQL 分布式计算 关系型数据库
MySql为什么要用where 1=1和where 1<>1
MySql为什么要用where 1=1和where 1<>1
73 0
|
存储 关系型数据库 MySQL
mysql为什么不推荐用空
mysql为什么不推荐用空
107 0
|
SQL 存储 缓存
|
存储 SQL 缓存
初识MySQL
什么是MySQL,如何安装MySQL的使用环境以及简单的库操作
|
SQL 存储 缓存
MySQL-分享篇
MySQL学习分享篇
152 0
|
关系型数据库 MySQL 数据库
盘点一下Mysql中的一些小知识(五)
盘点一下Mysql中的一些小知识(五)
94 0
|
关系型数据库 MySQL
MySql 时间查询
MySql 时间查询
108 0
下一篇
无影云桌面