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语句的方法。