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
2024-07-17, 1430🔥, 2💬
Popular Posts:
How To Install PHP on Windows in MySQL? The best way to download and install PHP on Windows systems ...
How To Enter Unicode Character String Literals in SQL Server Transact-SQL? Unicode characters are mu...
How To Connect ASP Pages to Oracle Servers in Oracle? If you are running Windows IIS Web server and ...
How To Change the Name of a Database User in SQL Server? If you want to change the name of an existi...
How To Get the Definition of a User Defined Function Back in SQL Server Transact-SQL? If you want ge...