在面试中经常被问到一个问题,就是如何进行SQL优化。在回答这个问题的过程中,肯定要涉及到另外一个问题,就是如何知道哪些Sql语句的执行效率低。通过在网上查找答案,发现最常用的方式就是慢查询日志方式。具体做法是配置一个叫my.ini的文件,但是关于这个文件所在的路径,我一开始没有找到。于是先用show variables like'%query%'命令查看一下慢查询日志是否开启及其一些默认配置,以下是查询结果:
从上图的“slow_query_log ON”可以知道,我的MySQL服务的慢查询日志是开启的,并且它的输出文件叫做“PC-201612282118-slow.log”,于是我在我的电脑上搜索PC-201612282118-slow.log这个文件,查到是在C盘的隐藏文件ProgramData下,完整路径是C:\ProgramData\MySQL\MySQL Server 5.6\data\PC-201612282118-slow.log,配置文件在它的上一层文件夹中,完整路径是C:\ProgramData\MySQL\MySQL Server 5.6\my.ini,打开my.ini文件,关于慢查询日志配置部分如下:
可以对以上属性进行更改,然后重启MySQL服务就生效了。至于以上属性或者更多属性的具体含义,请参照网上其他博文,本文就不在赘述了。