MySQL-mysql怎样得到一条SQL语句精确到ms级的执行时间
现在因为工作需要得到MYSQL的执行时间,就像PHPMYADMIN中的那样,如图,有这种SQL语句吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
现在因为工作需要得到MYSQL的执行时间,就像PHPMYADMIN中的那样,如图,有这种SQL语句吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
mysql执行前记时,执行mysql查询,用执行前的时间-当前时间不就是mysql的查询时间么?
基本方法应该就是:在执行SQL语句前保存下时间A,执行结束后再保存下时间B。
计算两次时间差就应该可以了,不过这种情况除非执行的SQL语句涉及数据量很大(至少要达到秒的级别上),否则前后两个时间不会有区别。
因为现在程序里计算时间的好像还没有能直接达到毫秒级别的吧。
嗯查看了下,有一个计算微秒的函数micortime(),可以返回当前UNIX时间戳和微秒数。返回浮点数单位为秒。不过函数仅在支持gettimeofday()系统调用的操作系统下可用。可以查下手册详细了解下。
在终端执行,运行完就显示出来了
大概看了一下phpmyadmin中的代码,获得query执行时间如下:
除了这种方式还可以使用mysql的profile,可以参考 @php里sql执行时间的监控?
这个更适合统计多条sql的执行情况。我见过好像是一个博客,访问页面之后会有一个提示大概说共查询了几次数据库,用了多长时间查询数据,那么开启mysql的profile就可以轻松实现了。