mysql慢查询

一:从日志中查看慢查询:(一般来说两者中开启慢查询日志)
    1.1 慢查询日志参数:
        不需要重启服务,就可以修改的:
            slow_query_log:指定是否输出慢查询日志,指定为1表示输出,指定为0则表示不输出,默认值为0.
            slow_query_log_file:指定日志文件存储路径和文件名,如果没有指定的话,默认指定文件名为[host_name]-slow.log
                保存在MySQL数据库data目录

        需要重启的服务才能生效的参数:

            long_query_time:指定慢查询执行时间的阈值,以秒为单位,但最小可以指定到微秒,默认是10秒。
            log_short_format:用来 控制输出到慢查询日志文件的信息,指定该选项后,会减少向慢查询日志中输入信息。
            log_slow_admin_statements:用来控制是否将一些执行时间较长的管理类型语句,
                          如optimize table 、analyze table、alter table语句输出到慢查询日志。
            log_queries_not_using_indexs:用来控制是否将未使用索引的语句的语句输出到慢查询日志文件
            log_throttle_queries_not_using_indexs:一般会与log_queries_not_using_indexs参数组合使用,它的功能是
                                  控制每分钟输出到慢查询日志的未使用索引的记录条数。默认值为0,这个0,意思说是不限制。

            log_slow_slave_statements:MySQL复制环境专用的参数,用来控制是否将复制的查询语句输出到慢查询日志。

            逻辑顺序:
                (1)执行的必须是查询语句,而非管理性语句(除非启用log_slow_admin_statements)
                (2)查询语句执行的时间达到或超过long_query_time参数指定的值,或者符合log_queries_not_using_indexs条件
                (3)查询的记录量达到min_examined_row_limit参数指定的值。
                (4)查询语句不违反log_throttle_queries_not_using_indexes参数设置。
    1.2 开启慢查询:
        通过修改mysql的全局变量,不需要重启服务,临时配置,重启配置丢失:
            set global slow_query_log=ON;
            set global slow_query_log_file="mysql_slow_query.log";
            set global long_query_time=3;
            #set global log_slow_admin_statements=ON; 在mariadb中有变化。不用改变这个参数。


    2.通用查询日志:
        通用查询日志(普通查询日志)不仅仅记录查询语句(包括慢查询),而是能够记录
        mysqld进程所做的几乎所有操作,不仅仅是客户端发出的SQL语句会被记录到普通查询日志
        中,对于数据库或对象的管理操作也会记录下来,甚至连客户端连接或断开,服务器都会向文件中写入相关信息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值