How to do it...

Suppose you want to measure the query time of a query; if you execute that in the MySQL client, you can know the approximate execution time with a granularity of 100 milliseconds:

mysql> pager grep rowsPAGER set to 'grep rows'mysql> SELECT e.emp_no, salary FROM salaries s JOIN employees e ON s.emp_no=e.emp_no WHERE (first_name='Adam');2384 rows in set (0.00 sec)

You can emulate the client load using mysqlslap and run the preceding SQL concurrently over multiple iterations:

shell> mysqlslap -u <user> -p<pass> --create-schema=employees --query="SELECT e.emp_no, salary FROM salaries s JOIN employees e ON s.emp_no=e.emp_no WHERE (first_name='Adam');" -c 1000 i 100mysqlslap: [Warning] Using a password on the command line interface ...

Get MySQL 8 Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.