Collections:
BENCHMARK() - Repeating Expression Evaluation
How to evaluate an expression repeatedly for benchmark testing using the BENCHMARK() function?
✍: FYIcenter.com
BENCHMARK(count, exp) is a MySQL built-in function that evaluates an expression repeatedly for benchmark testing and returns 0. For example:
SELECT BENCHMARK(1000000, AES_ENCRYPT('hello','goodbye')); -- +----------------------------------------------------+ -- | BENCHMARK(1000000, AES_ENCRYPT('hello','goodbye')) | -- +----------------------------------------------------+ -- | 0 | -- +----------------------------------------------------+ -- 1 row in set (0.39 sec) SELECT BENCHMARK(1000000, AES_ENCRYPT('hello','goodbye')); -- +----------------------------------------------------+ -- | BENCHMARK(1000000, AES_ENCRYPT('hello','goodbye')) | -- +----------------------------------------------------+ -- | 0 | -- +----------------------------------------------------+ -- 1 row in set (0.41 sec)
Note that the input expression can be a SELECT statement as long as it returns one row with one column. For example,
SELECT BENCHMARK(1000000, (SELECT name FROM mysql.help_topic LIMIT 1)); -- +-----------------------------------------------------------------+ -- | BENCHMARK(1000000, (SELECT name FROM mysql.help_topic LIMIT 1)) | -- +-----------------------------------------------------------------+ -- | 0 | -- +-----------------------------------------------------------------+ 1 row in set (0.03 sec) SELECT BENCHMARK(1000000, (SELECT * FROM mysql.help_topic LIMIT 1)); ERROR 1241 (21000): Operand should contain 1 column(s) SELECT BENCHMARK(1000000, (SELECT name FROM mysql.help_topic)); ERROR 1242 (21000): Subquery returns more than 1 row CREATE TABLE MyTable (id INTEGER, count INTEGER); SELECT BENCHMARK(100, (INSERT INTO MyTable VALUES(1,1))); ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO MyTable VALUES(1,1)))' at line 1
Reference information of the BENCHMARK() function:
BENCHMARK(count, exp): int Evaluates an expression repeatedly for benchmark testing. Arguments, return value and availability: count: Required. The number of time to evaluate the expression. exp: Required. The expression to be executed. int: Return value. 0 if evaluations are performed successfully. Available since MySQL 4.0.
⇒ CONNECTION_ID() - Thread ID of Current Connection
⇐ MySQL Functions on System Information
2023-12-19, 241🔥, 0💬
Popular Posts:
How To Divide Query Output into Multiple Groups with the GROUP BY Clause in SQL Server? Sometimes, y...
Where to find answers to frequently asked questions I am new to Oracle database. Here is a list of f...
Is SQL Server Transact-SQL case sensitive? No. Transact-SQL is not case sensitive. Like the standard...
How To Assign Debug Privileges to a User in Oracle? In order to run SQL Developer in debug mode, the...
How To List All Stored Procedures in the Current Database in SQL Server Transact-SQL? If you want to...