没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
一、MySql 基本架构图
连接器
▪ 连接器负责跟客户端建立连接,获取权限、维持和管理连接。
– 用户名密码验证。
– 查询权限信息,分配对应的权限。
– 可以使用 show processlist 查看现在的连接。
– 如果太长时间没有动静,就会自动断开,通过 wait_timeout 控制,默认 8 小时。
查询缓存
▪ 当执行查询语句的时候,会先去查询缓存中查看结果,之前执行过的 sql 语句及其结果可
能以 key-value 的形式存储在缓存中,如果能找到则直接返回,如果找不到,就继续执行后
续的阶段。
▪ 但是,不推荐使用查询缓存:
– 1、查询缓存的失效比较频繁,只要表更新,缓存就会清空。
– 2、缓存对应新更新的数据命中率比较低。
分析器
▪ 词法分析:Mysql 需要把输入的字符串进行识别每个部分代表什么意思。
– 把字符串 T 识别成表名 T– 把字符串 ID 识别成列 ID 。
▪ 语法分析:根据语法规则判断这个 sql 语句是否满足 mysql 的语法,如果不符
合就会报错“You have an error in your SQL synta”。
优化器
▪ 在具体执行 SQL 语句之前,要先经过优化器的处理。
– 当表中有多个索引的时候,决定用哪个索引。
– 当 sql 语句需要做多表关联的时候,决定表的连接顺序等等。
▪ 不同的执行方式对 SQL 语句的执行效率影响很大。
– RBO:基于规则的优化。
– CBO:基于成本的优化。
执行器
▪ MySQL 通过分析器知道了你要做什么,通过优化器知道了该怎么做,开始进入了执行器
阶段,开始执行语句。
– 开始执行的时候,要先校验该用户是否有执行查询的权限,如果没有,就会返回没有权
限的错误。如果有权限,就会去调用引擎的接口,返回接口执行的结果。
二、性能监控
1. 使用 show profile 查询剖析工具
此工具默认是禁用的,可以通过服务器变量在会话级别动态的修改:
set profiling=1;
当设置完成之后,在服务器上执行的所有语句,都会测量其耗费的时间和其他一些查询执行
状态变更相关的数据:
select * from emp;
在 mysql 的命令行模式下只能显示两位小数的时间,可以使用如下命令查看具体的执行时间:
show profiles;
执行如下命令可以查看详细的每个步骤的时间:
show profile for query 1;
all:显示所有性能信息:
show profile all for query n
block io:显示块 io 操作的次数:
show profile block io for query n
context switches:显示上下文切换次数,被动和主动:
show profile context switches for query n
cpu:显示用户 cpu 时间、系统 cpu 时间:
show profile cpu for query n
IPC:显示发送和接受的消息数量:
show profile ipc for query n
Memory:暂未实现
page faults:显示页错误数量:
show profile page faults for query n
source:显示源码中的函数名称与位置:
show profile source for query n
swaps:显示 swap 的次数:
show profile swaps for query n
也可以参考官网:
https://dev.mysql.com/doc/refman/8.0/en/show-profile.html
Sending data 状态表示 MySQL 线程开始访问数据行并把结果返回给客户端,而不仅仅是返回
结果给客户端。由于在 Sending data 状态下,MySQL 线程往往需要做大量的磁盘读取操作,
所以经常是整个查询中耗时最长的状态。
2. 使用 performance schema 来监控 mysql
用于监控 MySQL server 在一个较低级别的运行过程中的资源消耗、资源等待等情况。
剩余17页未读,继续阅读
资源评论
追风★少年
- 粉丝: 137
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 解决未在远程桌面会话中捕获到鼠标,vmguest.iso软件分享给大家
- JSP+SQL基于WEB的开放性实验管理系统设计与实现(源代码+论文+开题报告+中英文献+答辩PPT).rar
- log4net配置文件!!!!!!!!!!!!!!!!!
- 河南统计面板数据集(2010-2022年).xlsx
- OrcaleDBHelper帮助类!!!!!!!!!!!!
- log4net帮助类,用来写日志!!!!!!!!!!!!!
- Windows10时间同步源
- 信呼OA系统2.1.7版源码
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功