我是靠谱客的博主 俊逸大船,最近开发中收集的这篇文章主要介绍如何从一个大项目中,迅速的定位执行速度慢的语句. (定位慢查询),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们先了解下什么是慢查询
MySQL默认10秒内没有响应SQL结果,则为慢查询

慢查询都会有日志的存放
显示查看慢查询次数:

show status like 'slow_queries';
可以去修改MySQL慢查询默认时间来找出执行比较慢的语句
如何修改慢查询

查询慢查询时间

show variables like 'long_query_time';

修改慢查询时间

set long_query_time=1;

但是重启mysql之后,long_query_time依然是my.ini中的值

如何将慢查询定位到日志中

在默认情况下,我们的mysql不会记录慢查询,需要在启动mysql时候,指定记录慢查询才可以

binmysqld.exe --safe-mode  --slow-query-log

[mysql5.5 可以在my.ini指定](安全模式启动,数据库将操作写入日志,以备恢复)

binmysqld.exe –log-slow-queries=d:/abc.log

[低版本mysql5.0可以在my.ini指定]
先关闭mysql,再启动, 如果启用了慢查询日志,默认把这个文件放在
my.ini 文件中记录的位置

mysql的日志文件都会存在这个目录里面
#Path to the database root
datadir=" C:/ProgramData/MySQL/MySQL Server 5.5/Data/"

此时sql执行时间如果大于你修改的慢查询时间,则会被记录到日志文件下,通过查看日志记录信息可以查看
sql执行时间Query_time上锁时间lock_time查询的sql语句等信息
再进行sql的具体优化就好啦

内容来自我的一位老师,对授课内容加以总结得出此文

最后

以上就是俊逸大船为你收集整理的如何从一个大项目中,迅速的定位执行速度慢的语句. (定位慢查询)的全部内容,希望文章能够帮你解决如何从一个大项目中,迅速的定位执行速度慢的语句. (定位慢查询)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部