MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点6:MySQL Enterprise Monitor之Query Analyzer

文章目录

  • [MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点6:MySQL Enterprise Monitor之Query Analyzer](#MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点6:MySQL Enterprise Monitor之Query Analyzer)
    • [MySQL Enterprise Monitor之Query Analyzer](#MySQL Enterprise Monitor之Query Analyzer)
    • [Query Response Time index (QRTi)](#Query Response Time index (QRTi))
    • 例题
    • 参考

【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。

编辑|SQL和数据库技术(ID:SQLplusDB)

MySQL 8.0 OCP (1Z0-908) 考点精析-性能优化考点6:MySQL Enterprise Monitor之Query Analyzer

MySQL Enterprise Monitor之Query Analyzer

MySQL Enterprise Monitor是MySQL官方提供的一款监控和管理MySQL数据库的工具。

其功能之一包括MySQL Query Analyzer工具,通过MySQL Query Analyzer可以帮助用户识别慢查询和瓶颈,监视在MySQL服务器上执行的SQL语句,并显示每个查询的详细信息、执行次数和执行时间等有关性能的详细信息。

MySQL Query Analyzer从Performance Schema中获取MySQL服务器内部操作的详细信息,具体包括:

clike 复制代码
 1. 表锁定时间 
 2. 查询的行数与返回的行数 
 3. 创建了多少个临时表,是否有临时表创建在磁盘上 
 4. 是否进行了范围扫描,以及以何种形式进行了范围扫描
 5. 是否进行了排序,排序了多少行,排序采用了什么形式

Query Response Time index (QRTi)

Query Response Time index (QRTi)是Query Analyzer的一个指标,用于衡量MySQL数据库的查询响应时间。它是一个基于百分位数的指标(其值为0~1),可以帮助用户确定查询响应时间的分布情况。

QRTi值定义条件:

类型 默认时间值 分配值 描述 颜色
最佳 100毫秒 1.00 最佳时间范围 绿色
可接受 4 * 最佳 :(100ms to 400ms) 0.50 可接受的时间范围 黄色
不可接受 超过可接受范围 0.00 不可接受的时间范围 红色

我们计算平均值以确定最终的QRTi值。例如,如果某查询执行了100次,其中60次在100毫秒以下完成(最佳时间范围),30次在100毫秒至400毫秒之间(可接受时间范围),其余10次花费的时间超过了400毫秒(不可接受的时间范围),那么QRTi得分为:

((60 + (30/2) + (10*0)) / 100) = 0.75。

因此,SQL查询具有较低的QRTi值意味着执行时间在【不可接受的时间范围】的执行次数较多,可能是慢查询或者性能瓶颈。

QRTi通过将查询响应时间分成多个时间段,并计算每个时间段内查询的百分比来计算。例如,如果将查询响应时间分成10个时间段,则QRTi将计算每个时间段内查询的百分比,并将其表示为一个分布图。这可以帮助用户确定查询响应时间的分布情况,以及确定是否存在响应时间较长的查询。

Query Analyzer页面上会列出具有彩色编码的查询饼图,表示QRTi计算中使用的值的分解:绿色表示最佳百分比,黄色表示可接受的百分比,红色表示不可接受的百分比。将鼠标悬停在饼图本身上,以查看落在每个类别中的查询执行总数,以及落在该组中的查询执行的百分比。

Query Analyzer的用户界面:

来源:https://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-qanal-using-ui.html

例题

例题1: Query Analyzer

clike 复制代码
Choose the best answer. 
You are having performance issues with MySQL instances. Those servers are monitored with Enterprise Monitor. 
Using Query Analyzer, where do you begin to look for problem queries?

A) Sort the "Exec" column and check for SQL queries with low Query Response Time index (QRTi) values. 
B) Look for queries with low total latency times in the Latency section in the times series graph. 
C) Sort the "Exec" column and check for SQL queries with high Query Response Time index(QRTi) values. 
D) Look for queries with big prolonged spikes in row activity/access graph in the times series graph.

答案与解析1

Answser:A

SQL查询具有较低的QRTi值意味着执行时间在【不可接受的时间范围】的执行次数较多,可能是慢查询或者性能瓶颈。

参考

https://dev.mysql.com/doc/mysql-monitor/8.0/en/mem-qanal-using.html

相关推荐
千里马学框架17 小时前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
小白男神18 小时前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶18 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
kybs199120 小时前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
程序猿_极客20 小时前
【免费】分享一套优质的基于SSM的校园失物招领系统的设计与实现,源码+文档+视频详解(讲解)
java·mysql·ssm·课程设计·失物招领系统
于平安21 小时前
MySQL-触发器
数据库·mysql
liangshanbo121521 小时前
React 性能优化实战
性能优化·react
大猫和小黄21 小时前
MySQL锁与MVCC深度解析
mysql·mvcc·
mmsx1 天前
Android GIS系列 内存加锁、SQLite 开事务:矢量数据集双层并发设计
android·性能优化·app
数据库小学妹1 天前
MySQL库存扣减实战:原子UPDATE、分桶方案与锁范围分析
数据库·后端·mysql