慢查询日志:
1.什么是慢查询日志:
慢查询日志记录了MySQL数据库中响应时间超过阈值的所有语句。可以调整阈值来定位不满 足时间要求的sql语句
2.查看是否开启慢查询日志:
show variables like 'slow_query_log';
3.开启慢日志:
临时开启慢日志:
Set (global) slow_query_log = 'ON';
永久开启慢日志(影响性能):
在mysql的配置文件中进行修改,增加加或修改参数slow_query_log 和slow_query_log_file
4.查看阈值:
show variables like 'long_query_time';
5.修改阈值:
set long_query_time=1;
6. 慢查询日志文件所在位置类型
show variables like 'log_output';
值为TABLE时对应数据库mysql的slow_log表
值为FILE时查询慢日志文件所在位置
show variables like 'datadir';
7.验证修改阈值为1秒,执行简单sql,对应语句出现在慢日志文件中
查询分析器explain:
1.查询分析器explain命令的作用:
explain命令可以查看sql语句的执行计划,然后根据执行计划分析sql语句
2.使用:
只需要在sql语言前加上explain
3.衡量查询开销有3个重要的指标:
(1)响应时间
(2)扫描的记录
(3)返回的记录
4.结果解析:
type:all,index,range,ref,eq_ref,const。从左到右效率依次是增强
possible_key: 可能使用的索引
key:实际使用的索引
rows:扫描的行数
filtered:选取的行数占扫描的行数的百分比,完美是100%
5.带索引的结果: