阿里巴巴工程师教你认识mysql慢查询

本文探讨了MySQL慢查询的原因,包括应用服务端一次性访问过多数据、MySQL服务端访问存储引擎过多数据、并发访问量大以及同一条记录频繁更新。通过识别慢查询、查看执行计划和优化索引来排查和解决此类问题,强调了数据库性能对系统稳定性的重要性。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.为什么聊这个话题

在工作中,我们经常遇到各种线上问题,如cpu 和 load都变高了,full gc频繁,线程池满了等,经过各种排查可能最后有挺多原因是跟数据库出现了慢查询或者不合理的查询导致等一系列等连锁反应。
在各种大促性的活动我们会做各种手段去保证系统的稳定性,如压测,限流,缓存,消息异步化,很多情况下除了计算密集型等应用,很多都是为了防止我们的数据库挂掉。
数据库性能提升是我们能够放心做应用服务器水平扩容的一个最重要的前提。否则如果你的数据库查询性能差的话,一个慢查询就可能导致mysql服务器运行中线程数飙高,cpu飙高,rt延长。进而导致应用服务器的处理线程耗时延长,最终导致线程池满,cpu,load都会飙高。如果依赖你的服务的其它服务器没有做好降级熔断处理,那可想而知,他的应用也会挂掉。这个慢sql就是压死你的最后一棵稻草了。
后面作为一个专题和大家一起探讨聊聊mysql的慢查询和我在工作中遇到的实际问题的案例分享。今天先聊下
慢查询的一些基础和我的一些小套路。

2.查询慢的常见原因

   一次数据库的查询大体需要经历客户端,应用服务端,mysql服务端sql解析,优化器索引评估,执行计划生成,执行查询,返回给调用端。
  我们重点关注请求到mysql之后,mysql需要从存储引擎(目前大多使用innodb)中读取数据࿰
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值