前言
随着MySQL使用的越来越广泛,各个公司对个人的要求也越来越高,过去可能只要会写个SQL,就能找到工作。但是现在如果你已经工作两三年了对原理还一知半解,都不好意思说自己会MySQL。
基于以上的原因今天就来聊一聊慢查询日志,当数据库出现性能瓶颈时我们怎么发现去解决?用户提的时候再改?还是慢慢发现用户量下跌的时候再去处理呢?这个性能肯定是要定期去排查,定期的去处理,这样的场景下就需要有工具或者软件本身提供这样的能力去及时记录这些慢查询,供DBA或者开发人员去排查对应的问题。
MySQL提供的这个能力,我总结为三个参数,一个工具,掌握了三个参数和一个工具也就掌握了慢查询的80%的知识点。
一、什么叫做慢
参数一就是定义什么叫做慢。不同人、不同业务对慢的理解是不一样的,就像工业革命前,我们认为走着比马车慢,工业革命后我们认为马车比蒸汽机慢,其实都是技术发展导致了我们对慢有不同的理解。所以就引入了第一个参数:long_query_time.
该值就是让用户自定义你觉得什么叫做慢。(写到这里突然想起了余光中的诗歌:小时候 乡愁是一枚邮票 我在这头 母亲在那头。有事没事多打打电话)。
该值默认是10秒,但是默认情况MySQL是不会记录慢查询语句的日志。需要我们手动开启进行记录。
二、开启记录
long_query_time默认值是10秒,但是并不会开启记录,需要手动开