mysql获取当前执行sql详情
时间: 2023-08-22 12:09:29 浏览: 165
查询当前运行的sql语句
MySQL 提供了一些系统表,可以用于获取当前正在执行的 SQL 语句的详细信息。以下是两个常用的系统表:
1. INFORMATION_SCHEMA.PROCESSLIST 表:该表包含了当前连接到 MySQL 服务器的所有线程信息,其中包括每个线程的 ID、状态、执行的 SQL 语句等。可以使用以下查询语句获取当前执行的 SQL 语句:
```
SELECT * FROM information_schema.processlist WHERE command != 'Sleep';
```
该查询语句将返回所有活跃的线程信息,其中 command 列不为 Sleep 的表示该线程正在执行 SQL 语句。
2. PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_CURRENT 表:该表包含了当前正在执行的 SQL 语句的详细信息,包括语句文本、执行次数、执行时间等。可以使用以下查询语句获取当前正在执行的 SQL 语句:
```
SELECT * FROM performance_schema.events_statements_current WHERE THREAD_ID = CONNECTION_ID();
```
该查询语句将返回当前线程正在执行的 SQL 语句信息,其中 THREAD_ID 列表示当前线程的 ID,CONNECTION_ID() 函数返回当前连接的 ID。
阅读全文