plsql 执行语句一直executing_生产MySQL数据库执行一次analyze采集信息,应用炸裂

故障简介

之前,有开发找到我,说应用的某个功能查询比以前慢了很多,让开发提供了慢的SQL语句,去对应的MySQL数据库看了一下执行计划,发现执行计划不正确,第一反应就是其中的一个表的统计信息不准确,导致了SQL语句的执行计划不对,从高效的查询SQL变成了慢SQL。定位到问题之后,自然是 analyze 一下,重新采集信息,这个时候,却发现 analyze 表上的所有 select 突然卡住了,不返回任何结果,然后应用就炸了,各种告警短信。

17042bef058c7b3e7e76113b654baaa3.png

故障复盘

当时执行analyze操作的是一个slave库,受影响基本是select查询,所以在这里模拟的是查询操作。

创建模拟表

mysql> select * from t_test_1;+----+--------+-------+--------+| id | name   | name2 | status |+----+--------+-------+--------+|  1 | name1  | 1001  |      0 ||  2 | name1  | 1002  |      1 ||  3 | name1  | 1003  |      1 ||  4 | name1  | 1004  |      0 ||  5 | name1  | 1005  |      1 ||  6 | name1  | 1006  |      0 ||  7 | name1  | 1007  |      2 ||  8 | name1  | 1008  |      0 ||  9 | name1  | 1009  |      1 || 10 | name10 | 1001  |      0 |+----+--------+-------+--------+10 rows in set (0.00 sec
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值