MySQL 5.7获取指定线程正在执行SQL的执行计划信息[ mysql数据库 ]
mysql数据库
时间:2024-12-03 12:11:59
作者:文/会员上传
简介:
获取指定线程正在执行SQL的执行计划信息,可以使用下面语句;
当某个线程执行SQL消耗了很长的时间,可以使用这个语句找到正在执行大SQL的执行计划,在性能诊断上很有用。
mysql> s
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
获取指定线程正在执行SQL的执行计划信息,可以使用下面语句;
当某个线程执行SQL消耗了很长的时间,可以使用这个语句找到正在执行大SQL的执行计划,在性能诊断上很有用。
mysql> show processlist;
+----+------+-----------+------+---------+------+--------------+----------------------------------------------+
| Id | User | Host | db| Command | Time | State| Info |
+----+------+-----------+------+---------+------+--------------+----------------------------------------------+
| 17 | root | localhost | NULL | Query|0 | starting | show processlist |
| 18 | neo | localhost | fire | Query| 257 | Sending data | select count(*) from t1 join t2 on t1.a=t2.a |
+----+------+-----------+------+---------+------+--------------+----------------------------------------------+
2 rows in set (0.00 sec)
mysql> EXPLAIN FOR CONNECTION 18;
+----+-------------+-------+------------+-------+---------------+----------+---------+-----------+--------+----------+--------------------------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref| rows| filtered | Extra|
+----+-------------+-------+------------+-------+---------------+----------+---------+-----------+--------+----------+--------------------------+
| 1 | SIMPLE | t1| NULL| index | idx_t1_a | idx_t1_a | 5| NULL | 392945 |100.00 | Using where; Using index |
| 1 | SIMPLE | t2| NULL| ref| idx_t2_a | idx_t2_a | 5| fire.t1.a | 1 |100.00 | Using index |
+----+-------------+-------+------------+-------+---------------+----------+---------+-----------+--------+----------+--------------------------+
2 rows in set (0.00 sec)
展开阅读全文 ∨