测量实际的 MySQL 查询时间

2021-11-20 00:00:00 optimization mysql

如何测量查询的执行时间而不测量它等待锁定释放等所花费的时间?我唯一的想法是不断测量相同的查询并记录最快的时间.

解决方案

启动探查器

SET profiling = 1;

然后执行您的查询.

显示个人资料;

您会看到分析器具有统计信息的查询列表.最后选择要检查的查询

显示查询 1 的配置文件;

或您查询的任何数字.

您得到的是一个列表,其中列出了查询期间花费的确切时间.

手册中的更多信息.>

How can I measure the execution time of a query without measuring the time it spends waiting for a lock release etc? My only idea was to continuously measure same query and record the fastest time.

解决方案

Start the profiler with

SET profiling = 1;

Then execute your Query.

With

SHOW PROFILES;

you see a list of queries the profiler has statistics for. And finally you choose which query to examine with

SHOW PROFILE FOR QUERY 1;

or whatever number your query has.

What you get is a list where exactly how much time was spent during the query.

More info in the manual.

相关文章