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>;
相关推荐
夜雪一千7 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
程序员夏洛11 小时前
MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
数据库·mysql
l12586512 小时前
# RAG向量数据库优化实战:HNSW索引调参与生产级性能设计
数据库·python·mysql·langchain
梦Arrebol12 小时前
Mysql内容及相关实验
数据库·mysql
OceanWaves199312 小时前
mysql 8.0.32 磁盘爆满,清理从库日志
数据库·mysql
霸道流氓气质14 小时前
MySQL 大表 DDL 变更 — 原理、方案与实践
android·数据库·mysql
JavaPub-rodert15 小时前
Go 后台如何同时兼容 MySQL、PostgreSQL、SQLite 和 SQL Server?从 ShiyuAdmin 看 GORM 多数据库适配
数据库·mysql·postgresql·golang·javapub·王仕宇
Code额15 小时前
基于 SQLAlchemy 2.x,面向 MySQL 数据库的从入门到精通实战教程(2)
数据库·sql·mysql·adb·ai
爱吃火鸡面呀16 小时前
MySQL 查询与函数详解:从基础条件筛选到高级字符处理
数据库·mysql
知行产研17 小时前
中国矿山无人驾驶出海的三重门
数据库·mysql·php