在 MySQL 中 BENCHMARK() 函数用来重复执行 expr 表达式 count 次,它可用于计时 MySQL 处理表达式的速度。结果值为0,或者对于不适当的参数(如NULL或负重复计数)为NULL。
BENCHMARK(count,expr)
count 指定 expr 表达式执行的次数
expr 可正常运行的表达式
(1)使用 BENCHMARK() 函数执行AES 加密 1000000 次。如下:
mysql> SELECT BENCHMARK(1000000,AES_ENCRYPT('hello','goodbye')); +---------------------------------------------------+ | BENCHMARK(1000000,AES_ENCRYPT('hello','goodbye')) | +---------------------------------------------------+ | 0 | +---------------------------------------------------+ 1 row in set (0.32 sec)
由运行结果可知,执行 1000000 次 AES 加密耗时 0.32 秒。
(2)使用 BENCHMARK() 函数执行 1000 次“select * from t_user”SQL语句。如下:
mysql> select BENCHMARK(1000, 'select * from t_user'); +-----------------------------------------+ | BENCHMARK(1000, 'select * from t_user') | +-----------------------------------------+ | 0 | +-----------------------------------------+ 1 row in set (0.04 sec)
由运行结果可知,执行 1000 次 SQL 语句耗时 0.04 秒。