• Mysql-Explain参数详解(尚硅谷-周阳)


    系统在某些时刻存在响应缓慢,开启了慢查询,发现有许多查询缓慢的SQL,

    这里想着优化一下查询,奈何技术不扎实,花了些时间系统学习了下SQL调优基本分析,这里记录一下。参考B站周阳-https://www.bilibili.com/video/BV1KW411u7vy?p=46&t=8

    哪些情况下适合建立索引

     哪些情况不要创建索引

     Explain

       id:select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序  

       select_type:查询的类型,主要用于区别普通查询、联合查询、子查询等复杂查询    

        type:访问类型排列,显示查询使用了何种类型

    1. type显示的是访问类型,是较为重要的一个指标,结果值从最好到最坏依次是:system>const>eq_ref>ref>fultext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>ALL
    2. 挑重要的来说:system>const>eq_ref>ref>range>index>ALL,一般来说,得保证查询至少达到range级别,最好能达到ref。

      

     

     

       possible_keys 

      

    1. 显示可能应用在这张表中的索引,一个或多个
    2. 若查询涉及的字段上存在索引,则该索引将被列出,但不一定被查询实际使用

      key

      

    1. 实际使用的索引,如果为null,则没有使用索引

    2. 若查询中使用了覆盖索引,则该索引仅出现在key列表中

      ref

      

    1. 显示索引哪一列被使用了,如果可能的话,最好是一个常数。哪些列或常量被用于查找索引列上的值
    2. 由key_len可知t1表的索引idx_col1_col2被充分使用,t1表的col1匹配t2表的col1,t1表的col2匹配了一个常量,即’ac’

      rows

      根据表统计信息及索引选用情况,大致估算出找到所需的记录所需要读取的行数

      Extra:

      包含不适合在其他列中显示但十分重要的额外信息

      

     

     

     

      CSDN:oneby-wang

  • 相关阅读:
    Linux学习——操作文件与目录
    链表去重
    Android主题换肤 无缝切换
    android 换肤模式总结
    NotificationListenerService不能监听到通知
    判断app是否在后台
    模拟接听电话的方法,兼容华为android5.0以上设备
    Windows下安装破解JIRA6.3.6
    一些as的配置
    Android BLE开发——Android手机与BLE终端通信初识
  • 原文地址:https://www.cnblogs.com/xyzxy/p/14328655.html
Copyright © 2020-2023  润新知