如何在没有MySQL结果的情况下测试查询的速度

jcu*_*bic 14 mysql performance load-time

我有返回数千个结果的查询,是否可以只在MySQL控制台或命令行中显示查询时间而没有实际结果?

Rom*_*ain 7

SET profiling = 1;在命令提示符下使用.

请参阅更多详细信息

如果没有得到结果或者执行sql,就不可能获得执行时间.

了解为什么我们无法在没有实际查询执行的情况下获得执


cod*_*key 5

如果您使用的是 Linux。

  1. 创建文件query.sql
  2. 输入要测试的查询。例如select * from table1
  3. 运行这个命令:

time mysql your_db_name -u'db_user_name' -p'your_password' < query.sql > /dev/null

输出将如下所示:

real    0m4.383s    
user    0m0.022s    
sys     0m0.004s
Run Code Online (Sandbox Code Playgroud)

“真实”线就是您所看到的。在上面的示例中,查询花费了 4.38 秒。

显然,在命令行上输入数据库密码并不是一个好主意,但可以作为一种快速而肮脏的解决方法。