MySQL执行计划

SQL案例

  1. explain select * from login_log where id = 100;

4、MySQL执行计划 - 图1

  • id:自增序号,还可以用来标识“驱动表”
  • select_type:查询类型,SIMPLE代表直接对表的简单查询

    • SIMPLE 简单查询
    • PRIMARY 最外层查询
    • SUBQUERY 映射为子查询
  • table:查询哪张表
  • partitions:坐落分区,分区表一般不用,所以通常都是null
  • type:索引检索类型,const代表常数(只找到唯一的记录)查询,这个效率很高
  • possible_keys:与当前查询相关备选的索引有哪些,PRIMARY代表主键
  • key:代表当前实际使用的索引是哪个
  • key_len:代表单个索引值的长度,id类型为int,占用4个字节,所以key_len=8
  • ref:显示使用哪个列或常数与key一起从表中选择行
  • rows:本次查询所扫描的行数,注意:这个值可能和最终结果不一致,扫描行数越少越好
  • filter:过滤器,公式:rows filter 100 ≈ 估算的查询结果,这个不靠谱
  • Extra:扩展条件的详细信息