慢查询处理SOP

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

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

  • 如果explain语句没发现什么问题,有可能是别的原因造成查询阻塞,比如大事务造成的锁等待。
  1. 优化
    根据分析结果,针对性地优化查询语句
相关推荐
zuoerjinshu3 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
NocoBase5 小时前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
Hoshino.416 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
Oueii7 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
未来龙皇小蓝8 小时前
【MySQL-索引调优】11:Group by相关概念
数据库·mysql·性能优化
2401_831824968 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf8 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
twc8298 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
@我漫长的孤独流浪8 小时前
Python编程核心知识点速览
开发语言·数据库·python
2401_851272998 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python