慢查询分析

最近更新时间: 2024-10-17 17:10:00

操作场景

将超过指定时间的 SQL 查询语句称为“慢查询”,对应语句称为“慢查询语句”,而数据库管理员(DBA)对慢查询语句进行分析并找到慢查询出现原因的过程叫做慢查询分析。

操作步骤

  1. 登录MySQL/MariaDB 控制台,进入实例列表,点击【实例ID/名称】或操作列【管理】

  2. 选择【性能优化】>【慢查询分析】页,可进行慢查询分析。

    慢查询分析可拆分到某一个库,某个分片,主机\从机进行分析

主要参数说明

主要默认设置

  • 慢查询功能:默认开启。

  • 慢查询时间(long_query_time):默认配置为1秒;即慢查询语句查询时间超过1秒的才被记录。

  • 分析数据输出延迟:1分钟 - 5分钟。

  • 日志记录时长:30天,根据备份和日志设置周期决定。

分析列表字段说明

  • 校验值(checksum):表示慢查询语句的一串序列数字,默认64bit。

  • 抽象后的慢查询语句(fingerprint):隐去用户数据以后的慢查询语句。

  • 数据库:出现慢查询语句的数据库。

  • 帐号:出现慢查询语句的帐号。

  • 最后执行时间(last_seen):时间范围内,最后一次出现慢查询语句的时间。

  • 首次执行时间(first_seen):时间范围内,第一次出现慢查询语句的时间。

  • 总次数(ts_cnt):时间范围内,慢查询语句出现的次数。

  • 总次数占比:时间范围内,慢查询语句占所有慢查询语句次数的占比。

  • 总时间(query_time_sum):时间范围内,慢查询语句查询总耗时。

  • 总时间占比:时间范围内,慢查询语句查询总耗时的占比。

  • 平均时间(query_time_avg):慢查询语句总时间除以总次数的平均时间。

  • 最小时间(query_time_min):慢查询语句出现的最小时间。

  • 最大时间(query_time_max):慢查询语句出现的最大时间。

  • 总锁时间(lock_time_sum):慢查询语句出现锁的总耗时。

  • 总锁时间占比:时间范围内,慢查询语句占所有慢查询语句锁时间的占比。

  • 平均锁时间(lock_time_avg):慢查询语句总锁时间除以总锁次数的平均时间。

  • 最小锁时间(lock_time_min):慢查询语句锁出现的最小时间。

  • 最大锁时间(lock_time_max):慢查询语句锁出现的最大时间。

  • 发送行数(Rows_sent_sum):该条慢查询语句发送的数据行数总和。

  • 扫描行数(Rows_examined_sum):该条慢查询语句扫描的数据行数总和。