mysql快速定位cpu 占比过高的sql语句

mysql快速定位cpu 占比过高的sql语句

当MySQL数据库的CPU使用率异常升高时,定位导致问题的SQL语句可以通过以下步骤进行

1、使用top命令找出mysl进程中占用CPU靠前的线程

复制代码
#找出mysql 的进程号
ps -ef | grep mysql

#根据进程号,找出占用CPU靠前的线程号
top -H -p <mysqld进程id>

top 中,按大写的P ,进行CPU 使用率排序

找到线程ID 号,为39449

2、登录到数据库查询performance_schemainformation_schema

-- 查询性能模式中的线程信息 select * from performance_schema.threads;

-- 查询当前运行的进程列表 select * from information_schema.processlist

使用以下SQL语句可以查询到具体的线程信息,包括其操作系统线程ID(thread_os_id)和正在执行的SQL语句:

贴入, <具体线程id>

复制代码
SELECT
    a. USER,
    a. HOST,
    a.db,
    b.thread_os_id,
    b.thread_id,
    a.id processlist_id,
    a.command,
    a.time,
    a.state,
    a.info
FROM
    information_schema.PROCESSLIST a,
    performance_schema.threads b
WHERE
    a.id = b.processlist_id
AND b.thread_os_id = <具体线程id>;
相关推荐
我是一颗柠檬11 小时前
【MySQL全面教学】MySQL事务与ACID Day9(2026年)
数据库·后端·mysql
xxl大卡12 小时前
MySQL的执行流程
数据库·mysql
chicheese13 小时前
MySQL优化实践:选错JOIN 驱动表,性能相差几十倍
数据库·mysql
無限進步D13 小时前
MySQL 单行函数
数据库·mysql
锋行天下13 小时前
一句mysql复杂查询搞崩一个壮汉
后端·mysql·go
ggabb13 小时前
文明迭代,语言重塑:中文领跑智能时代,英语褪去时代霸权
mysql
AI人工智能+电脑小能手13 小时前
【大白话说Java面试题 第77题】【Mysql篇】第7题:回表查询与全表扫描的区别?
java·开发语言·数据库·mysql·面试
無限進步D15 小时前
MySQL 聚合函数
数据库·mysql
就叫飞六吧15 小时前
生产数据库批量 UPDATE / DELETE 核心要点-不备份=自行提桶跑路
数据库·sql·mysql
小李不困还能学16 小时前
8.0.46版MySQL安装配置保姆级教程
数据库·mysql