2
可使用SET profiling = 1;
MySQL的仿形在MySQL仿形
查詢SHOW PROFILES;
顯示由每個查詢所花費的時間來設置。我想知道這個時間是否僅包括服務器的執行時間,還是包含將結果發送到前端所需的時間。
感謝
可使用SET profiling = 1;
MySQL的仿形在MySQL仿形
查詢SHOW PROFILES;
顯示由每個查詢所花費的時間來設置。我想知道這個時間是否僅包括服務器的執行時間,還是包含將結果發送到前端所需的時間。
感謝
按照manual狀態Sending data
是它需要將結果發送到客戶端的時間。示例:
mysql> SHOW PROFILE FOR QUERY 1;
+--------------------------------+----------+
| Status | Duration |
+--------------------------------+----------+
| starting | 0.000024 |
| Waiting for query cache lock | 0.000005 |
| checking query cache for query | 0.000051 |
| checking permissions | 0.000010 |
| Opening tables | 0.000022 |
| System lock | 0.000012 |
| Waiting for query cache lock | 0.000024 |
| init | 0.000043 |
| optimizing | 0.000008 |
| statistics | 0.000012 |
| preparing | 0.000011 |
| executing | 0.000004 |
| Sorting result | 0.125893 |
| Sending data | 0.000076 | -- here
| end | 0.000005 |
| query end | 0.000002 |
| closing tables | 0.000005 |
| freeing items | 0.000005 |
| Waiting for query cache lock | 0.000001 |
| freeing items | 0.000012 |
| Waiting for query cache lock | 0.000001 |
| freeing items | 0.000001 |
| storing result in query cache | 0.000013 |
| logging slow query | 0.000001 |
| cleaning up | 0.000002 |
+--------------------------------+----------+
更新:在使用查詢緩存時,狀態可能爲sending cached result to clien
。