一、开启慢查询日志
要进行SQL优化,首先要知道要优化目标--哪些SQL需要优化,哪些SQL查询比较慢??MySQL提供了慢查询日志--slow_query_log,用来记录查询比较慢的SQL语句。
MySQL默认是没有开启慢查询日志的,如何查看当前MySQL服务器是否开启了慢查询日志了呢?使用命令:show variables like 'slow_query_log' 来查看。同时,值得说明的是,索引对于优化的作用很大,所以要同时查询一下有没有开启 --记录没有使用索引查询语句的配置项--log-queries-not-using-indexes
由以上查询结果可知,慢查询日志和记录是否使用索引查询语句的日志均未开启,所以,第一步就是要开启这两个日志。
另外值得说明一点的是:所谓慢查询,慢查询,究竟什么样算慢呢?这就需要一个标准?这个标准记录在变量long_query_time里,可以通过命令查询一下,当前服务器的默认值是多少?
这个变量的单位是--秒,如果敢是10秒才算得上慢查询,那还了得,用户早都等的不耐烦了,所以需要将这个值改的合理一些,可以将其改为0.01秒,也就是100毫秒