MySQL--BENCHMARK()函數

說明

MySQL有一個內置的BENCHMARK()函數,可以測試某些特定操作的執行速度。
參數可以是需要執行的次數和表達式。
表達式可以是任何的標量表達式,比如返回值是標量的子查詢或者函數。

請注意:該函數只是簡單地返回服務器執行表達式的時間,而不會涉及分析和優化的開銷。

該函數可以很方便地測試某些特定操作的性能,比如通過測試可以發現,MD5()比SHA1()函數要快:

試驗結果

mysql> SET @input := “hello world”;
Query OK, 0 rows affected (0.00 sec)

mysql> select @input;
+————-+
| @input |
+————-+
| hello world |
+————-+
1 row in set (0.00 sec)

mysql> select @a;
+——+
| @a |
+——+
| NULL |
+——+
1 row in set (0.00 sec)

mysql> select BENCHMARK(10000000,MD5(@input));
+———————————+
| BENCHMARK(10000000,MD5(@input)) |
+———————————+
| 0 |
+———————————+
1 row in set (3.40 sec)

mysql> select BENCHMARK(10000000,SHA1(@input));
+———————————-+
| BENCHMARK(10000000,SHA1(@input)) |
+———————————-+
| 0 |
+———————————-+
1 row in set (6.19 sec)

mysql>

參考文獻

《高性能MySQL》

發佈了32 篇原創文章 · 獲贊 5 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章