MySQL 5.7獲取指定執行緒正在執行SQL的執行計劃資訊
獲取指定執行緒正在執行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)
當某個執行緒執行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)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26506993/viewspace-2118957/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 執行計劃-1:獲取執行計劃
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- 【java】【多執行緒】獲取和設定執行緒名字、獲取執行緒物件(3)Java執行緒物件
- 獲取執行計劃之Autotrace
- mysql 5.7 執行緒阻塞處理MySql執行緒
- MySQL執行計劃MySql
- MySQL 執行計劃MySql
- MySQL 如何獲取執行中的Queries資訊?MySql
- 達夢資料庫獲取SQL真實的執行計劃資料庫SQL
- Oracle - 執行過的SQL、正在執行的SQL、消耗資源最多的SQLOracleSQL
- 檢視一個正在執行的sql的執行計劃(explain for connection processlist_id)SQLAI
- Oracle sql執行計劃OracleSQL
- Java 執行緒池獲取池中所有執行緒列表的方法Java執行緒
- MySQL 5.7 優化不能只看執行計劃MySql優化
- 怎樣停止一個正在執行的執行緒執行緒
- 獲取oracle sql語句詳細些執行計劃OracleSQL
- MySQL執行計劃解析MySql
- mysql explain 執行計劃MySqlAI
- mysql執行計劃explainMySqlAI
- Linux應用程式獲取執行緒棧的資訊Linux執行緒
- Java多執行緒-執行緒通訊Java執行緒
- MySQL——通過EXPLAIN分析SQL的執行計劃MySqlAI
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- easyexcel多sheet多執行緒匯入示例,獲取所以執行緒執行結果後返回Excel執行緒
- 微課sql最佳化(9)、如何獲取執行計劃SQL
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- Laravel 獲取執行的sql語句LaravelSQL
- 多執行緒Demo學習(執行緒的同步,簡單的執行緒通訊)執行緒
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- 保證執行緒在主執行緒執行執行緒
- MySQL執行計劃解析(四)MySql
- 讀懂MySQL執行計劃MySql
- java多執行緒5:執行緒間的通訊Java執行緒
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- Java多執行緒學習——執行緒通訊Java執行緒
- 如何檢視SQL的執行計劃SQL
- 執行緒和執行緒池執行緒
- 多執行緒--執行緒管理執行緒
- 執行緒與多執行緒執行緒