我是靠谱客的博主 现代犀牛,最近开发中收集的这篇文章主要介绍MySQL如何快速定位慢查询的语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

步骤一:首先了解MySQL数据库的运行状态查询情况
        使用命令show [session|gobal] status
      例子:show status like 'uptime';    【查询当前使用MySQL数据库的时间长度】
        show status like 'com_select';    【查询当前使用select语句的次数】
        show status like 'com_delete';    【查询当前使用delete语句的次数】
        show status like 'com_insert';    【查询当前使用insert语句的次数】
        show status like 'com_update';    【查询当前使用update语句的次数】
        show status like 'connections';    【查询当前链接到本数据库的连接次数】
        show status like 'slow_quaries';【查询慢查询的次数】
    注意:默认使用session,即当前会话;也可指定global,即从MySQL启动开始到当前为止的全部过程情况。
步骤二:然后设置慢查询的时间(默认为10秒)
        说明:慢查询时间是指执行语句的时间超过该指定的慢查询时间时,该语句则被划分为慢查询语句。
        show variables like 'long_query_time';    【查询慢查询的时间】
        set long_query_time=1;    【修改慢查询时间为1秒钟】

        注意:一旦退出并重新登录到MySQL时,则该慢查询的时间会恢复到默认的10s.
步骤三:把执行时间超过1秒的语句统计到日志文件
        说明:默认情况下,MySQL不会记录慢查询,需要在启动MySQL时指定日志文件才可以。
        操作步骤:
            (1)关闭MySQL,再重启;(进入系统服务停止MySQL进程)
            (2)进入用命令控制台,先切换到bin所在的目录(例如cd f:MySQL5.5),
                 然后执行binmysqld.exe --safe-mode --slow-query-log  【MySQL5.5可在my.ini指定,此时默认的日志文件
                 所在处可查看my.ini文件中的datadir中的值,一般是MySQL安装主目录data下】
                 或者binmysqld.exe -log-slow-queries=f:/aaa.log  【低版本MySQL5.0可在my.ini指定】
                 命令。
                (执行命令后在data目录下得到.log文件[记录慢查询的语句和运行情况]和.pid文件[指明进程ID号])
            (3)重新登录到MysQL,并重新设置慢查询时间为1秒,然后执行各个SQL语句。

                (一旦语句的执行时间超过1秒,则数据库管理系统会自动把该语句及其相关信息记录到日志文件中汇总)

注意事项:my.ini文件在MySQL的安装主目录下可找到,在该文件中的datadir的路径值不要随意修改。

最后

以上就是现代犀牛为你收集整理的MySQL如何快速定位慢查询的语句的全部内容,希望文章能够帮你解决MySQL如何快速定位慢查询的语句所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部