zoukankan      html  css  js  c++  java
  • SQL执行计划分析2

    执行计划重点关注 type、key、key_len、rows、extra

    type:type如果为ALL,表示全盘扫描,也是效率最低的

    key:表示使用了哪个索引,如果没有使用为null

    key_len:表示索引字段的最大可能长度,KEY_LEN的长度由字段定义计算而来,并非数据的实际长度,长度越小,效率越高。

        主要是看复合索引用到了哪些列 因为很多复合索引可能只是用到了一列或者某几列,联合索引是从左往右来的,算到什么地方,就代表用哪一列

        假如有一个表 id int not null ,name varchar(32) not null 并且是utf8字符类型的表 假如索引是id_name 如果只用到id列那么key_len 就是4 如果两列

                  都用到了那 key_len 就是 4+32*3+2 如果不是not null 就是4+1+32*3+2+1了

    rows:表示MySQL通过哪些列或常量被用于查找索引列上的值,ROWS值的大小是个统计抽样结果,并不十分准确。全盘扫描时,值最大,接近表中数据行数。建议值小于5000

    extra:如果出现using filesort 表示sql中有排序。应尽量避免在磁盘中排序。让其尽量通过索引字段排序。

  • 相关阅读:
    什么是缓存?
    什么是反射?
    Nginx配置文件详解
    数据库插入,修改出现中文乱码解决办法
    hadoop的HA机制+zookeeper
    cascading--wordcount
    心情3
    完成用户登录注册功能
    感慨1
    Swing程序设计-初级
  • 原文地址:https://www.cnblogs.com/flzs/p/9966558.html
Copyright © 2011-2022 走看看