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, 250🔥, 0💬
Popular Posts:
What is SQL Server Transact-SQL (T-SQL)? SQL Server Transact-SQL, also called T-SQL, is an extension...
What Happens If the UPDATE Subquery Returns Multiple Rows in MySQL? If a subquery is used in a UPDAT...
What Are Out-of-Range Errors with DATETIME values in SQL Server Transact-SQL? When you enter DATETIM...
How To Set Up SQL*Plus Output Format in Oracle? If you want to practice SQL statements with SQL*Plus...
How To Verify Your PHP Installation in MySQL? PHP provides two execution interfaces: Command Line In...