zoukankan      html  css  js  c++  java
  • mysql学习笔记之explain

    测试mysql的版本5.7.24,不同的mysql版本查询的方式是不一样的。同一条sql在 5.7.24中执行与5.7.25中执行用到的索引就不一样。

    explain 说明,解释

    explain各项参数说明

    • id 表示执行的顺序
      id的值越大,越先执行。对应简单的sql,关联查询 id的值都是相同的

    • select_type 查询类型
      SIMPLE 简单
      DERIVED 有子查询的(派生)
      PRIMARY 查询中若包含任何复杂的子查询,最外层查询则被标记为Primary,注意不是主键

    • table 查询的表名称(有别名就显示表的别名)
      对哪一步操作的结果

    • type 查询的方式,这个很重要
      const,system 只有一行匹配的时候
      eq_ref 比较好的,用户到了主键索引或者唯一索引
      ref 与eq_ref不同的是使用到了索引的左前缀
      range 使用到索引指定范围的查询
      index 扫描索引树
      all 全部扫描

    • possible_keys
      用到的合适的索引,可能用到的索引

    • key
      实际用的索引

    • key_len
      决定使用索引的长度

    • ref
      关联表使用那一字段筛选行

    • rows
      执行查询可能扫描的行数,这是一个预估值

    • filtered
      返回结果的行,占读到的行(rows)的百分比

    • extra
      另外的,这个参数也很重要
      ···
      Using index condition; Using where; Using MRR; Using temporary; Using filesort
      ···

    不同的MySQL版本、不同的存储引擎甚至不同的数据量表现都可能不一样。参考: http://www.cnblogs.com/zhanjindong/p/3439042.html

  • 相关阅读:
    DRF小结
    js中BOM与DOM的概念与区别
    css单位分析、颜色设置与调色板
    css中伪类与伪元素的区别
    flexbox与grid layout的区别
    grid的简单使用
    position属性的总结
    html,css
    homework
    aboutme and my goal
  • 原文地址:https://www.cnblogs.com/zqsb/p/10625961.html
Copyright © 2011-2022 走看看