這是機器只執行查詢還是包含時間機器顯示查詢的時間?MySQL查詢結果下的時間是什麼意思?
我問這個問題,因爲我從我的電腦訪問遠程MySQL服務器,我收到的結果是~5000條記錄~15秒。但是我在同一個用戶的這個遠程MySQL服務器上做同樣的事情,我在0.02秒內收到5000條記錄。
爲什麼兩個時間不同?
這是機器只執行查詢還是包含時間機器顯示查詢的時間?MySQL查詢結果下的時間是什麼意思?
我問這個問題,因爲我從我的電腦訪問遠程MySQL服務器,我收到的結果是~5000條記錄~15秒。但是我在同一個用戶的這個遠程MySQL服務器上做同樣的事情,我在0.02秒內收到5000條記錄。
爲什麼兩個時間不同?
這意味着DBMS執行查詢所需的時間(根據其查詢計劃)。
如果你真正想要做的是測量服務器執行時間,那麼也許你想看看
SHOW PROFILES
。
例子:
mysql> set profiling = 1;
mysql> select count(*) from xyz;
+----------+
| count(*) |
+----------+
| 10697 |
+----------+
1 row in set (0.02 sec)
mysql> show profiles;
+----------+------------+--------------------------------+
| Query_ID | Duration | Query |
+----------+------------+--------------------------------+
| 1 | 0.01904200 | select count(*) from xyz |
+----------+------------+--------------------------------+
1 row in set (0.00 sec)
它很可能是:運行查詢所需的時間+將時間轉移並顯示給客戶端。所以它在客戶端已經過去了,而不是服務器上的執行時間。事實上,它需要15秒的遠程,本地0.02s顯示這是這種情況:) – Casper 2012-07-07 11:30:48
我不認爲它包括它顯示的時間。因爲他們這次測量的方式對於遠程和本地來說是一樣的。在當地,它只需要0.02s,太短!但我必須等3-4秒才能查看所有記錄。任何人都可以告訴我來源顯示他們衡量執行時間的方式嗎? :( – 2012-07-07 12:13:43
你在這裏看到了什麼?在MySQL控制檯中? – halfer 2012-07-07 12:27:53