MySQL中如何根据query_id查找SQL语句

2024年 1月 15日 41.1k 0

MySQL中如何根据query_id查找SQL语句

在本文中,我们将介绍MySQL中如何根据query_id查找SQL语句。

在MySQL中,可以通过performance_schema表来查找query_id对应的SQL语句。performance_schema是MySQL自带的监视工具,用于记录MySQL的性能指标及状态数据,包括query_id及其对应的SQL语句。

以下是具体的步骤:

步骤一:确认performance_schema已启用

mysql> SHOW VARIABLES LIKE 'performance_schema';

如果结果为ON,则表示已启用;如果结果为OFF,则需要先启用performance_schema

步骤二:查找query_id

在performance_schema库中,有一个表events_statements_summary_by_digest,记录了每个语句的摘要,包括query_id。

mysql> SELECT DIGEST, QUERY_ID, SCHEMA_NAME,
LEFT(SQL_TEXT, 50) AS SQL_TEXT
FROM performance_schema.events_statements_summary_by_digest
WHERE QUERY_ID='...'
LIMIT 1\G

其中,QUERY_ID的值需要替换为要查找的query_id。

步骤三:查找SQL语句

根据查找到的DIGEST,在performance_schema库的另一个表events_statements_history_long中查找SQL语句。

mysql> SELECT SQL_TEXT FROM performance_schema.events_statements_history_long
WHERE DIGEST='...'
LIMIT 1\G

其中,DIGEST的值需要替换为查找到的DIGEST。

以上就是MySQL中根据query_id查找SQL语句的方法。

相关文章

pt-kill工具的使用
pt-ioprofile工具包的使用
数据库管理-第216期 Oracle的高可用-01(20240703)
DBMS_REPAIR EXAMPLE SCRIPT WITH PARTITION
数据库事务的四大特性: ACID 
使用BBED修复损坏的SYSTEM文件头

发布评论