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>;
相关推荐
kk在加油1 小时前
Mysql锁机制与优化实践以及MVCC底层原理剖析
数据库·sql·mysql
合作小小程序员小小店1 小时前
web网页开发,在线%ctf管理%系统,基于html,css,webform,asp.net mvc, sqlserver, mysql
mysql·sqlserver·性能优化·asp.net·mvc
JosieBook1 小时前
【Java编程动手学】Java常用工具类
java·python·mysql
hello 早上好2 小时前
MsSql 其他(2)
数据库·mysql
高压锅_12202 小时前
SQLAlchemy数据库连接密码特殊字符处理完全指南
数据库·mysql·django·sqlalchemy
tan180°10 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
DuelCode11 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
幽络源小助理11 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
爬山算法12 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡
KellenKellenHao1 天前
MySQL数据库主从复制
数据库·mysql