慢查询处理SOP

  1. 应急
    如果影响到了核心业务,则kill该慢查询
  2. 分析
  • 通过explain语句查询sql的执行策略,主要关注type、keys、rows三个字段,type代表查询的类型(能够帮助判断是否使用到了索引,最差得是全索引扫描index,不能是全表扫描ALL),key则是实际使用到的索引字段,rows代表预估扫描的行数。

另外,mysql8.0提供了explain analyze 功能,能实际执行查询,并且返回实际查到的行数actual rows。有时候如果返回行数过多,mysql优化器会因为回表成本过高而走全表扫描ALL

  • 如果explain语句没发现什么问题,有可能是别的原因造成查询阻塞,比如大事务造成的锁等待。
  1. 优化
    根据分析结果,针对性地优化查询语句
相关推荐
jiayou6414 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
GBASE1 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
笃行3504 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3504 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3504 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
SelectDB4 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
这个DBA有点耶4 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构