測量MySQL的表達式和函數的速度

測量MySQL的表達式和函數的速度,能夠調用benchmark()函數。語法格式是benchmark(loop_count,expr)。運行的返回值是0,可是mysql會打印一行顯示語句大概要執行多長的時間。mysql

mysql> SELECT BENCHMARK(1000000,1+1);
+------------------------+
| BENCHMARK(1000000,1+1) |
+------------------------+
|                      0 |
+------------------------+
1 row in set (0.06 sec)

mysql> 

這裏的結果顯示,MySQL執行1000000次簡單的加法須要花費0.06秒。sql

內置的MySQL函數一般是高度優化的,但可能有一些例外。BENCHMARK()是一個很好的工具,能夠找出某些函數是不是你的查詢的問題。
報告的時間是客戶端的已用時間,而不是服務器端的CPU時間。建議屢次執行BENCHMARK(),並根據服務器機器的負載程度來解釋結果。服務器

經過模擬N次隨機業務邏輯判斷響應耗時函數

mysql> select benchmark(100000000, 'call mysp()');
+-------------------------------------+
| benchmark(100000000, 'call mysp()') |
+-------------------------------------+
|                                   0 |
+-------------------------------------+
1 row in set (0.49 sec)

mysql> 
相關文章
相關標籤/搜索