1.my.conf 配置修改
```
#慢日志
slow_query_log=TRUE #开启慢日志
log_output=table #必须指定file或者是table如果是table则慢查询信息会保存到mysql库下的slow_log表中
slow_query_log_file=/var/lib/mysql/ziyou-slow.log #日志存放位置
long_query_time=0.5
#超过多少秒的查询就写入日志
```
2.查看设置
```
show variables like '%quer%';
```
![](https://img.kancloud.cn/5f/f5/5ff53f5063359356967d40b1bade998f_404x310.png)
3.explain 关键词分析
```
explain select * from 表名;
```
![](https://img.kancloud.cn/50/82/50828c3d4f29edb7a3aabdf32d7c7617_798x77.png)
```
**概要描述:**
id:选择标识符
select_type:表示查询的类型。
table:输出结果集的表
partitions:匹配的分区
type:表示表的连接类型
possible_keys:表示查询时,可能使用的索引
key:表示实际使用的索引
key_len:索引字段的长度
ref:列与索引的比较
rows:扫描出的行数(估算的行数)
filtered:按表条件过滤的行百分比
Extra:执行情况的描述和说明
```
4.mysqldumpslow 慢日志分析工具
```
主要介绍两个参数-s和-t
-s 这个是排序参数,可选的有:
al: 平均锁定时间
ar: 平均返回记录数
at: 平均查询时间
c: 计数
l: 锁定时间
r: 返回记录
t: 查询时间
-t n 显示头n条记录。
```