Run the "status" command to query running SQL statements in MySQL. if the value of Slow queries is greater than 0 for a long time, the query execution time is too long.
The following is a reference clip:
mysql> status; -------------- mysql Ver 11.18 Distrib 3.23.58, for redhat-linux-gnu (i386) Connection id: 53 Current database: (null) Current user: root@localhost Current pager: stdout Using outfile: '' Server version: 5.0.37-log Protocol version: 10 Connection: Localhost via UNIX socket Client characterset: latin1 Server characterset: latin1 UNIX socket: /tmp/mysql.sock Uptime: 4 days 16 hours 49 min 57 sec Threads: 1 Questions: 706 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 52 Queries per second avg: 0.002 --------------
|
Then, run the show processlist command to view the currently running SQL statements, find slow SQL statements, find slow statements, and then run the explain command to view the execution plans of these statements.
Mysql> show processlist;
+ ---- + ------ + ----------- + ------ + --------- + ------ + ------- + ------------------ +
| Id | User | Host | db | Command | Time | State | Info |
+ ---- + ------ + ----------- + ------ + --------- + ------ + ------- + ------------------ +
| 53 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+ ---- + ------ + ----------- + ------ + --------- + ------ + ------- + ------------------ +