explain 分析
- explain 返回 MySQL 优化器的执行计划,可以说explain 是在优化query 上是最直接有效的验证我们想法的工具
- 接本操作如下
- explain select select_options;
- extra:查询中每一步实现的额外细节信息。
. using index : 出现这个说明mysql使用了覆盖索引,避免访问了表的数据行,效率不错。
. using where :这说明服务器在存储引擎收到行后讲进行过滤。
. using temporary :这意味着mysql对查询结果进行排序的时候使用了一张临时表
. using filesort :这个说明mysql会对数据使用一个外部的索引排序
注意当出现using temporary 和 using filesort时候说明需要优化操作
- explain 优化指标
systme>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>all
1.const 如果是根据主键或唯一索引 只取出确定的一行数据。是最快的一种。
2.range 索引或主键,在某个范围内时
3.index 仅仅只有索引被扫描
4.all 全表扫描,最令人心痛
redo.log 重做日志
执行的时间:在事务提交后, MySQL 服务挂了,在下一次服务重启的时候,执行重做日志
undo.log 回滚日志
在事务提交前,MySQL服务挂了,在下一次服务重启的时候,他会执行回滚日志
查询当前进程执行情况:
select * from information_schema.processlist where db = '数据库名称' and COMMAND <> 'Sleep';