暂无图片
mysql cpu 100%案例分析两则之一(CPU持续性100%)——bit类型
最近更新:2022-08-23 11:05:21

适用范围

mysql 5.7

问题概述

客户生产环境告警:MYSQL5.7_生产服务器)2022-02-16 15:17CPU利用率超标,当前值:97.82%(阈值:大于90%) image.png

问题原因

  1. 登录服务器,使用top查看,当前占用最多cpu的是mysql进程
  2. 检查数据库慢查询情况,发现没有开启慢查询
  3. 登录mysql,执行show processlist,查看当前线程连接情况 image.png 发现异常sql:
  SELECT COUNT(a.id) as tradeCount, SUM(a.trade_amount) as totalAmount,SUM(a.refunded_amount) as totalRefundAmount
        ,COUNT(b.sn) as refundCount
        FROM pay_bills a LEFT JOIN pay_refund_bills b on a.id = b.pay_bills_id  AND b.status = 'WITHDRAWED'
         WHERE 1=1 and a.avaliable= '1' and a.parent_id is null
  1. 查看sql执行计划 image.png 可以看到表a即pay_bills进行了全表扫描
  2. 建议创建复合索引
......